diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2010-06-18  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* cpsa.cabal (Version): Tagged as version 2.0.5.
+
+	* doc/cpsatheory.tex: Added theory document on authentication
+	tests. 
+
+2010-06-11  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Strand.hs (augCollapses): Added a collapsing phase
+	after adding a strand so that hulling succeeds without when
+	origination points on augmented strands move.
+
+	* src/CPSA/Lib/Strand.hs (hull): Added a better algorithm for
+	finding pairs of strands to hull.
+
+2010-06-07  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Cohort.hs (cowt): As does cows, the cowt has to
+	iterate to ensure all places are considered.  This change fixes
+	the bug exposed by the tst/non_transforming.scm text case.
+
+2010-06-03  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Cohort.hs (transformingNode): Removed junk in
+	output by applying the mgu filter to more substitutions used to
+	construct augmentations.  This fix has a dramatic effect on
+	performance for the NSL4 and NSL5 test cases.
+
+2010-05-06  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Cohort.hs (cows): Update function to better match
+	correctness result in the upcoming algebra paper.
+
 2010-04-28  John D. Ramsdell  <ramsdell@mitre.org>
 
 	* cpsa.cabal (Version): Tagged as version 2.0.4.
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,7 @@
 	@echo make $@
 
 $(CONFIG):	$(PACKAGE)
-	$(SETUP) configure --ghc --user --prefix="${HOME}"
+	$(SETUP) configure $(CABALFLAGS) --ghc --user --prefix="${HOME}"
 
 %:	force
 	$(SETUP) $@
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,23 @@
 CPSA NEWS -- history of user-visible changes.
 
+* Changes in version 2.0.5
+
+** Performance enhanced
+A source of duplicated effort was removed that reduces the run time
+for analyzing the NSL5 protocol from about a day to about a minute!
+The enhancement doesn't seem to effect the run times of many other
+protocols.
+
+** Bugs fixes
+Some minor bugs were fixed, and there are now no tests in the test
+suite that shows that CPSA fails to find a shape in should.
+
+** CPSA theory document added
+A document on authentication tests has been added.  The document is
+not installed are the CPSA Specification and the CPSA Design documents.
+The sources for the document are provided, and must be built by typing
+make in the doc directory.
+
 * Changes in version 2.0.4
 
 ** Input skeletons are no longer pruned
diff --git a/README b/README
--- a/README
+++ b/README
@@ -8,6 +8,10 @@
 CPSA has been built and tested with GHC 6.8 too, but to handle its old
 version of Cabal, configure with:
 
+$ make CABALFLAGS=-fold
+
+or
+
 $ runghc Setup.hs configure -fold --ghc --user --prefix="${HOME}"
 
 The Hackage version of the Cabal file needs editing to support GHC
diff --git a/cpsa.cabal b/cpsa.cabal
--- a/cpsa.cabal
+++ b/cpsa.cabal
@@ -1,5 +1,5 @@
 Name:			cpsa
-Version:		2.0.4
+Version:		2.0.5
 Maintainer:		ramsdell@mitre.org
 Cabal-Version:		>= 1.2
 License:		BSD3
@@ -50,32 +50,35 @@
 -- Data-Dir:	    	doc
 Extra-Source-Files:
   Makefile ChangeLog README NEWS ghci cpsatst doc/README doc/Makefile
-  doc/macros.tex doc/cpsaprimer.tex doc/bcasyntax.tex doc/cpsaspec.tex
-  doc/cpsadesign.tex doc/cpsaoverview.tex doc/cpsadiagrams.mp
-  doc/strands.mp doc/cmstrands.mp doc/carriers.mp doc/termtree.mp
-  doc/cpsa.bib doc/SDAG.lhs src/index.html src/cpsacgi src/cpsacgi.py
-  src/cpsa2svg src/cpsa.el src/httpd_allow_execmem.te src/cpsaops.scm
-  src/preskel src/cpsa.pl src/pp.pl src/sexpr.pl
-  tst/README tst/Makefile tst/Make.hs tst/checktst tst/cpsagraphall
-  tst/cpsashapesall tst/dass.lisp tst/completeness-test.scm
-  tst/completeness-test.tst tst/missing-contraction.scm
-  tst/missing-contraction.tst tst/dass-mod.lisp tst/dass_simple.scm
-  tst/dass_simple.tst tst/denning-sacco.scm tst/denning-sacco.tst
-  tst/dh.sch tst/dh.tst tst/ds-short.lisp tst/dy.lsp tst/dy.tst
-  tst/epmo_acctnum.lsp tst/epmo_acctnum.tst tst/epmo.scm
-  tst/encsig.scm tst/encsig.tst tst/epmo.tst tst/ffgg.scm tst/ffgg.tst
-  tst/isoreject.scm tst/isoreject.tst tst/kelly1.scm tst/kelly1.tst
-  tst/kelly64.lisp tst/kerb5.lisp tst/kerberos.scm tst/kerberos.tst
-  tst/neuman-stubblebine-alt.lisp tst/neuman-stubblebine-reauth.lisp
-  tst/neuman-stubblebine-reauth.lsp tst/neuman-stubblebine-reauth.tst
-  tst/neuman-stubblebine.scm tst/neuman-stubblebine.tst tst/nsl3.scm
-  tst/nsl3.tst tst/nsl4.lisp tst/nsl5i.lisp tst/nsl5.lisp
-  tst/nslsk.scm tst/nslsk.tst tst/ns.scm tst/ns.tst tst/or.scm
-  tst/or.tst tst/pca.lsp tst/pca.tst tst/tnsl5.lisp tst/updatetst
-  tst/sigenc.scm tst/sigenc.tst tst/weird.scm tst/weird.tst
-  tst/wmf.lsp tst/wmf.tst tst/woolam.scm tst/woolam.tst
-  tst/yahalom.scm tst/yahalom.tst tst/sorted_epmo_acctnum.scm
-  tst/sorted_epmo_acctnum.tst tst/nsl4cm1.lsp tst/nsl4cm1.tst
+  doc/macros.tex doc/cpsaprimer.tex doc/bcasyntax.tex
+  doc/cpsatheory.tex doc/cpsaspec.tex doc/cpsadesign.tex
+  doc/cpsaoverview.tex doc/cpsadiagrams.mp doc/strands.mp
+  doc/cmstrands.mp doc/carriers.mp doc/termtree.mp doc/cpsa.bib
+  doc/SDAG.lhs src/index.html src/cpsacgi src/cpsacgi.py src/cpsa2svg
+  src/cpsa.el src/httpd_allow_execmem.te src/cpsaops.scm src/preskel
+  src/cpsa.pl src/pp.pl src/sexpr.pl tst/README tst/Makefile
+  tst/Make.hs tst/checktst tst/cpsagraphall tst/cpsashapesall
+  tst/dass.lisp tst/blanchet.scm tst/blanchet.tst
+  tst/completeness-test.scm tst/completeness-test.tst
+  tst/missing_contraction.scm tst/missing_contraction.tst
+  tst/no_contraction.scm tst/no_contraction.tst tst/dass-mod.lisp
+  tst/dass_simple.scm tst/dass_simple.tst tst/denning-sacco.scm
+  tst/denning-sacco.tst tst/dh.sch tst/dh.tst tst/ds-short.lisp
+  tst/dy.lsp tst/dy.tst tst/epmo_acctnum.lsp tst/epmo_acctnum.tst
+  tst/epmo.scm tst/encsig.scm tst/encsig.tst tst/epmo.tst tst/ffgg.scm
+  tst/ffgg.tst tst/isoreject.scm tst/isoreject.tst tst/kelly1.scm
+  tst/kelly1.tst tst/kelly64.lisp tst/kerb5.lisp tst/kerberos.scm
+  tst/kerberos.tst tst/neuman-stubblebine-alt.lisp
+  tst/neuman-stubblebine-reauth.lisp tst/neuman-stubblebine-reauth.lsp
+  tst/neuman-stubblebine-reauth.tst tst/neuman-stubblebine.scm
+  tst/neuman-stubblebine.tst tst/nsl3.scm tst/nsl3.tst tst/nsl4.lisp
+  tst/nsl4resp2.lisp tst/nsl5i.lisp tst/nsl5.lisp tst/nslsk.scm
+  tst/nslsk.tst tst/ns.scm tst/ns.tst tst/or.scm tst/or.tst
+  tst/pca.lsp tst/pca.tst tst/tnsl5.lisp tst/updatetst tst/sigenc.scm
+  tst/sigenc.tst tst/weird.scm tst/weird.tst tst/wmf.lsp tst/wmf.tst
+  tst/woolam.scm tst/woolam.tst tst/yahalom.scm tst/yahalom.tst
+  tst/sorted_epmo_acctnum.scm tst/sorted_epmo_acctnum.tst
+  tst/nsl4cm1.lsp tst/nsl4cm1.tst
 
 -- Disable with -f-par option during configuration.
 
diff --git a/doc/Makefile b/doc/Makefile
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,10 +1,18 @@
-# A LaTeX/MetaPost makefile -- requires GNU Make
+# A LaTeX/MetaPost makefile for CPSA documents
 
+# Requrements
+# * GNU Make
+# * package texlive-context
+# * package texlive-pictures
+
+# See README for more information
+
 SHELL = /bin/sh
 
 DESIGN = cpsadesign
 PRIMER = cpsaprimer
 SPEC = cpsaspec
+THEORY = cpsatheory
 OVERVIEW = cpsaoverview
 BIB = cpsa
 
@@ -23,17 +31,7 @@
 %.ind:	%.idx
 	makeindex $*
 
-all:	$(DESIGN).pdf $(OVERVIEW).pdf $(PRIMER).pdf $(SPEC).pdf
-
-$(DESIGN).pdf:	$(MP_SRCS:.mp=-0.mps) $(TEX_SRCS) \
-		 $(DESIGN).tex $(DESIGN).bbl
-	if test ! -f $(DESIGN).aux; then pdflatex $(DESIGN).tex; fi
-	if test -f $(DESIGN).idx; then $(MAKE) $(DESIGN).ind; fi
-	pdflatex $(DESIGN).tex
-
-$(OVERVIEW).pdf: $(OVERVIEW).tex
-	if test ! -f $(OVERVIEW).aux; then pdflatex $(OVERVIEW).tex; fi
-	pdflatex $(OVERVIEW).tex
+all:	$(PRIMER).pdf $(OVERVIEW).pdf $(DESIGN).pdf $(SPEC).pdf $(THEORY).pdf
 
 $(PRIMER).pdf:	$(MP_SRCS:.mp=-0.mps) $(TEX_SRCS) \
 		 $(PRIMER).tex $(PRIMER).bbl
@@ -41,13 +39,30 @@
 	if test -f $(PRIMER).idx; then $(MAKE) $(PRIMER).ind; fi
 	pdflatex $(PRIMER).tex
 
+$(OVERVIEW).pdf: $(OVERVIEW).tex
+	if test ! -f $(OVERVIEW).aux; then pdflatex $(OVERVIEW).tex; fi
+	pdflatex $(OVERVIEW).tex
+
+$(DESIGN).pdf:	$(MP_SRCS:.mp=-0.mps) $(TEX_SRCS) \
+		 $(DESIGN).tex $(DESIGN).bbl
+	if test ! -f $(DESIGN).aux; then pdflatex $(DESIGN).tex; fi
+	if test -f $(DESIGN).idx; then $(MAKE) $(DESIGN).ind; fi
+	pdflatex $(DESIGN).tex
+
 $(SPEC).pdf:	$(MP_SRCS:.mp=-0.mps) $(TEX_SRCS) \
 		 $(SPEC).tex $(SPEC).bbl
 	if test ! -f $(SPEC).aux; then pdflatex $(SPEC).tex; fi
 	if test -f $(SPEC).idx; then $(MAKE) $(SPEC).ind; fi
 	pdflatex $(SPEC).tex
 
-CLEAN_FILES := $(DESIGN).pdf $(OVERVIEW).pdf $(PRIMER).pdf $(SPEC).pdf \
+$(THEORY).pdf:	$(MP_SRCS:.mp=-0.mps) $(TEX_SRCS) \
+		 $(THEORY).tex $(THEORY).bbl
+	if test ! -f $(THEORY).aux; then pdflatex $(THEORY).tex; fi
+	if test -f $(THEORY).idx; then $(MAKE) $(THEORY).ind; fi
+	pdflatex $(THEORY).tex
+
+CLEAN_FILES := $(PRIMER).pdf $(OVERVIEW).pdf \
+		$(DESIGN).pdf $(SPEC).pdf $(THEORY)\
 	$(wildcard *.log *.aux *.toc *.mps *.mpx) \
 	$(wildcard *.bbl *.blg *.ind *.idx *.ilg *.out)
 
diff --git a/doc/cpsadesign.tex b/doc/cpsadesign.tex
--- a/doc/cpsadesign.tex
+++ b/doc/cpsadesign.tex
@@ -1,9 +1,10 @@
 \documentclass[12pt]{report}
-\usepackage{url}
 \usepackage{amssymb}
+\usepackage{amsmath}
+\usepackage{amsthm}
+\usepackage{url}
 \usepackage{graphicx}
 \usepackage{makeidx}
-\usepackage{amsthm}
 \theoremstyle{definition}
 \newtheorem{defn}{Definition}[chapter]
 \newtheorem{thm}{Theorem}[chapter]
diff --git a/doc/cpsaoverview.pdf b/doc/cpsaoverview.pdf
Binary files a/doc/cpsaoverview.pdf and b/doc/cpsaoverview.pdf differ
diff --git a/doc/cpsaprimer.pdf b/doc/cpsaprimer.pdf
Binary files a/doc/cpsaprimer.pdf and b/doc/cpsaprimer.pdf differ
diff --git a/doc/cpsaprimer.tex b/doc/cpsaprimer.tex
--- a/doc/cpsaprimer.tex
+++ b/doc/cpsaprimer.tex
@@ -1,9 +1,11 @@
 \documentclass[12pt]{article}
-\usepackage{url}
 \usepackage{amssymb}
-\usepackage{alltt}
+\usepackage{amsmath}
+\usepackage{amsthm}
+\usepackage{url}
 \usepackage{graphicx}
 \usepackage{makeidx}
+\usepackage{alltt}
 \input{macros}
 
 \makeindex
diff --git a/doc/cpsaspec.tex b/doc/cpsaspec.tex
--- a/doc/cpsaspec.tex
+++ b/doc/cpsaspec.tex
@@ -1,10 +1,11 @@
 \documentclass[12pt]{article}
 \usepackage{amssymb}
+\usepackage{amsmath}
+\usepackage{amsthm}
 \usepackage{url}
 \usepackage{graphicx}
-\usepackage[matrix,arrow,curve]{xy}
 \usepackage{makeidx}
-\usepackage{amsthm}
+\usepackage[matrix,arrow,curve]{xy}
 % Include this for a hyperlinked version of the document
 % \usepackage{hyperref}
 
@@ -364,10 +365,11 @@
 as $\terms(X)$ and~$\terms$ respectively.  Relation $\equiv$ is the
 equivalence relation on~$\terms_\top$ derived from the equations
 in~$\Gamma$, and the equivalence class $[t]$ is $\{t'\mid t\equiv
-t'\}$.  At times we conflate a term with the equivalence class of
-which it is a member to simplify the presentation.  Given a sort~$s$,
-$t\colon s$ asserts that $[t]\in\alg{A}_s$, and $t\colon S$ asserts
-that for some~$s\in S$,~$t\colon s$.  Term~$t$ is a
+t'\}$.  We assume each equivalence class has a canonical
+representative.  At times we conflate a term with the equivalence
+class of which it is a member to simplify the presentation.  Given a
+sort~$s$, $t\colon s$ asserts that $[t]\in\alg{A}_s$, and $t\colon S$
+asserts that for some~$s\in S$,~$t\colon s$.  Term~$t$ is a
 \index{message}\emph{message} if $[t]\in\alg{A}_\top$.  Message~$t$ is
 an \index{atom}\emph{atom} iff~$t\colon B$.  The message
 $\cn{enc}(t_0,t_1)$ is written $\enc{t_0}{t_1}$.
@@ -398,18 +400,18 @@
 Figure~\ref{fig:bc carrier sets} shows the carrier sets for the Basic
 Crypto Algebra.
 
-\begin{defn}[Position]
+\begin{defn}[Position]\label{defn:position}
 A \emph{position}~$p$ is a finite sequence of natural numbers.  The
-message in~$t$ that \emph{occurs at}~$p$, written~$t\termat p$, is:
+term in~$t$ that \emph{occurs at}~$p$, written~$t\termat p$, is:
 $$\begin{array}{l}
 t\termat\seq{}=t;\\
 f(t_0,\ldots,t_{|w|-1})\termat\seq{i}\append p=
 t_i\termat p\mbox{ if }f\in\Sigma_{w,s}\mbox{ and }i<|w|.
 \end{array}$$
-A variable~$x\in X$ \emph{occurs in} $t\in\terms_\top(X)$ if
-$x=t\termat p$ for some~$p$.
-Variable~$x$ \emph{occurs in} $t\in\alg{A}_\top(X)$ if it
-occurs in every member of t.
+A term~$t$ \emph{occurs in} $t'\in\terms_\top(X)$ if $t=t'\termat p$
+for some~$p$.  A message~$t$ \emph{occurs in} $t'\in\alg{A}_\top(X)$
+if the canonical representative of~$t$ occurs in the canonical
+representative of~$t'$.
 \end{defn}
 
 Some positions within a message are distinguished.  A position~$p$
@@ -776,7 +778,7 @@
 \end{defn}
 
 \begin{defn}[Acquired]
-A variable is \emph{acquired} by a trace if it first occurs in an
+A message is \emph{acquired} by a trace if it first occurs in an
 inbound message and is also carried by that message.
 \end{defn}
 
@@ -2023,7 +2025,7 @@
 \begin{defn}[Decompose]
 Previously sent messages~$T_p$ and avoidance set~$T_a$
 \emph{decompose} to $T'_p,T'_a$, written
-$\fn{decompose}(T_p,T_a)=(T'_p,T'_a)$, if 
+$\fn{decompose}(T_p,T_a)=(T'_p,T'_a)$, if
 $\dctx{T_p}{T_a}\to^\ast\dctx{T'_p}{T'_a}$
 and $(T'_p,T'_a)$ is a normal form of reduction~$\to$.
 \end{defn}
@@ -2099,312 +2101,53 @@
 unifiers~$\sigma$ such that~$\sigma(t)$ is carried only within
 set~$\sigma(T_e)$ in~$\sigma(t')$.
 
-\begin{defn}[Carried Only Within Solution]
-The set~$S$ of substitutions is a \emph{carried only within solution}
-for~$t$,~$T_e$, and~$t'$ iff $\sigma\in S$ implies $\sigma(t)$ is
-carried only within set~$\sigma(T_e)$ in~$\sigma(t')$ and~$S$ is
-a complete set of most general unifiers.
-\end{defn}
-
 A carried only within solution cannot be directly computed using
 Definition~\ref{def:cow}.  Given terms~$t_a$ and~$t_e$, the
 $\fn{unify}$ function specified at the end of
 Section~\ref{sec:messages} finds substitutions~$\sigma$ such
 $\sigma(t_a)\equiv \sigma(t_e)$, however, the carried positions
 $\fn{carpos}(\sigma(t),\sigma(t'))$, are used before the $\fn{unify}$
-function computes the substitution~$\sigma$.  The remainder of this
-section describes an iterative procedure that breaks the cyclic
-dependencies.  Each step of the iteration improves an approximation of
-a solution to the problem.
-
-\begin{defn}[Carried Only Within at a Substitution]
-Message~$t$ is \emph{carried only within} set~$T_e$ in~$t'$ \emph{at
-  substitution}~$\sigma$ if for all carried positions~$p$ of~$t$
-in~$t'$, there exists an ancestor~$t_a\in\fn{anc}(t',p)$ and $t_e\in
-T_e$ such that~$\sigma(t_a)\equiv\sigma(t_e)$, where~$\sigma$ is a
-most general unifier.
-\end{defn}
-
-Another way to describe this concept is by specifying a set of
-unification problems for $t$, $T$, and $t'$.  Let $P$ be a sequence
-of positions.
-
-$$\begin{array}{r@{}c@{}l}
-\probs_{t,T,t'}(\seq{})&{}={}&\{\{\}\}\\
-\probs_{t,T,t'}(\seq{p}\append P)&{}={}&\{
-\begin{array}[t]{@{}l}
-\{t_a\eqq t_e\}\cup E\mid{}\\
-E\in\probs_{t,T,t'}(P), \\
-t_a\in\fn{anc}(t',p),\\
-t_e\in T\}
-\end{array}
-\end{array}$$
-
-\begin{defn}[Carried Only Within Problems]
-The set $\probs_{t,T,t'}$ is the set  of \emph{carried only within
-  problems} for $t$, $T$, and $t'$, where
-$\probs_{t,T,t'}=\probs_{t,T,t'}(P)$,
-and $P$ is a sequence that enumerates the elements of
-$\fn{carpos}(t,t')$.
-\end{defn}
-
-\begin{sloppypar}
-Message~$t$ is {\cow}~$T$ in~$t'$ at~$\sigma$ if $\sigma$ is a unifier
-for a problem in $\probs_{t,T,t'}$.  Message~$\sigma(t)$ is
-{\cow}~$\sigma(T)$ in~$\sigma(t')$ if $\sigma$ is a unifier for a
-problem in $\probs_{t,T,t'}(\fn{carpos}(\sigma(t),\sigma(t')))$.  When
-convenient, a set of positions is sometimes conflated with a sequence
-that enumerates the set.  The problems solved by~$\sigma$ are
-$$\probs^\sigma_{t,T,t'}=\{E\mid
-\begin{array}[t]{@{}l}
-E\in\probs_{t,T,t'}(\fn{carpos}(\sigma(t),\sigma(t'))),\\
-\mbox{$\sigma$
-is a unifier of $E$}\}.
-\end{array}$$
-\end{sloppypar}
-
-Each step in the iterative procedure involves finding
-substitutions~$\sigma$ such that~$t$ is {\cow}~$T_e$
-in~$t'$ at~$\sigma$.  The sense in which each step approximates the
-solution is captured by the following lemmas.
-
-\begin{lem}\label{lem:anc subst}
-$t\termat p$ defined implies $\fn{anc}(\sigma(t),p)=\sigma(\fn{anc}(t,p))$.
-\end{lem}
-
-\begin{proof}
-By induction patterned after the recursive definition of $\termat$
-after expanding the definition of $\fn{anc}$.
-\end{proof}
-
-\begin{lem}\label{lem:carpos subst}
-$\fn{carpos}(t,t')\subseteq\fn{carpos}(\sigma(t),\sigma(t'))$.
-\end{lem}
-
-\begin{proof}
-By term induction on the second argument of $\fn{carpos}$.
-The case in which $\sigma(t)\equiv\sigma(t')$ and $t\not\equiv t'$
-provides an example in which the subset relation is proper.
-\end{proof}
-
-\begin{lem}\label{lem:cows approx}
-Suppose message~~$t$ is {\cow} set~$T_e$ in~$t'$
-at~$\sigma$ and $\sigma(t)$ is {\cow} set~$\sigma(T_e)$
-in~$\sigma(t')$ at substitution~$\sigma'$.  Then~$\sigma'$ solves
-equations generated from positions in
-$\fn{carpos}(\sigma(t),\sigma(t'))\setminus\fn{carpos}(t,t')$,
-and~$\sigma$ solves the remaining equations.
-\end{lem}
-
-\begin{proof}
-The equations solved by~$\sigma'$ are of the form
-$\sigma'(\sigma(t_a))\equiv\sigma'(\sigma(t_e))$.  By assumption,
-$t'\termat p$ is defined for $p\in\fn{carpos}(t,t')$, so
-Lemma~\ref{lem:anc subst} applies, and assures that equations
-generated for $\fn{carpos}(t,t')$ remain the same.  By
-Lemma~\ref{lem:carpos subst},
-$\fn{carpos}(t,t')\setminus\fn{carpos}(\sigma(t),\sigma(t'))$ is
-empty.
-\end{proof}
-
-Lemma~\ref{lem:carpos subst} can be used to show why this problem is
-difficult.  If $\sigma(t)\equiv\sigma(t')$ and $\sigma\unlhd\sigma'$,
-then $\sigma'(t)\equiv\sigma'(t')$, however, if~$\sigma(t)$ is
-{\cow}~$\sigma(T)$ in~$\sigma(t')$ and $\sigma\unlhd\sigma'$, one
-cannot conclude that~$\sigma'(t)$ is {\cow}~$\sigma'(T)$
-in~$\sigma'(t')$, because by Lemma~\ref{lem:carpos subst}, it is
-possible that $\fn{carpos}(\sigma(t),\sigma(t'))\subset
-\fn{carpos}(\sigma'(t),\sigma'(t'))$.
-
-The implementation must consider all possible solutions to the
-equations.  It does so by operating on sets of terms and
-substitutions.  Given solutions~$S$ to some other equations,
-$\fn{solve}(T,T',S)$ extends them to include solutions to one pair
-from~$t$ and~$t'$.
-$$\fn{solve}(T,T',S)=\{\sigma'\mid t\in T, t'\in T',
-\sigma\in S, \sigma'\in\fn{unify}(t,t',\sigma)\}$$
-
-The implementation combines the solutions for single equations by
-folding the substitutions produced by the $\fn{solve}$ function.  The
-set oriented version of the carried only within at a substitution
-function is:
-\begin{center}
-\begin{tabular}{l}
-$\fn{cowf}(t,T_e,t',\sigma)={}$\\
-$\quad\fn{cowf_{\mathrm 0}}(t,T_e,t',\{\sigma\},\fn{carpos}(t,t'))$\\
-\\
-$\fn{cowf_{\mathrm 0}}(t,T_e,t',S,\{\})=S$\\
-$\fn{cowf_{\mathrm 0}}(t,T_e,t',S,\{p\}\cup P)={}$\\
-\quad $\fn{cowf_{\mathrm 0}}(t,T_e,t',\fn{solve}(\fn{anc}(t',p),T_e,S),P\setminus\{p\})$
-\end{tabular}
-\end{center}
-Observe that~$\sigma(t)$ is {\cow}~$\sigma(T_e)$ in~$\sigma(t')$ if
-$\sigma\in\fn{cowf}(t,T_e,t',\sigma)$.
-
-Iterating the $\fn{cowf}$ function can be used to find contractions.
-Potential contractions are in $\fn{cows}(t,T_e,t')$, where
+function computes the substitution~$\sigma$.  Figure~\ref{fig:cows}
+displays the iterative procedure that breaks the cyclic dependencies.
+Each step of the iteration improves an approximation of a solution to
+the problem.  The correctness of this function is the subject a paper
+in preparation.
 
+\begin{figure}
 \begin{center}
 \begin{tabular}{l}
-$\fn{cows}(t,T_e,t') ={}$\\
-\quad $\fn{cows}_0(t,T_e,t',\idsigma)$
+$\fn{cows}(t,T,t') ={}$\\
+\quad $\fn{cows}_0(t,T,t',\idsigma)$
 \quad --- $\idsigma$ is the identity
-substitution \\
+subst \\
 \\
-$\fn{cows}_0(t,T_e,t',\sigma) ={}$\\
-\quad \textbf{if} $t$ is carried only within $T_e$ at $t'$ \textbf{then}\\
+$\fn{cows}_0(t,T,t',\sigma) ={}$\\
+\quad \textbf{if} $\sigma(t)$ is {\cow} $\sigma(T)$ at
+$\sigma(t')$ \textbf{then}\\
 \qquad $\{\sigma\}$\\
 \quad \textbf{else}\\
 \qquad\textbf{let}
-$S=\fn{cowf}(t,T_e,t',\sigma)$
+$S=\fn{fold}(t,T,t',\sigma)$
 \textbf{in}\\
 \qquad$\bigcup_{\sigma'\in S}
-\fn{cows}_0(\sigma'(t),\sigma'(T_e),\sigma'(t'),\sigma')$
+\fn{cows}_0(t, T, t',\sigma')$\\
+\\
+$\fn{fold}(t,T,t',\sigma)={}$\\
+$\quad\{\sigma'\circ\sigma\mid\sigma'\in
+\fn{fold}_0(\sigma(T),\sigma(t'),\{\idsigma\},
+\fn{carpos}(\sigma(t),\sigma(t')))$\\
+\\
+$\fn{fold}_0(T,t',S,\{\})=S$\\
+$\fn{fold}_0(T,t',S,\seq{p}\append P)={}$\\
+\quad $\fn{fold}_0(T,t',\fn{solve}(\fn{anc}(t',p),T,S),P)$\\
+\\
+$\fn{solve}(T,T',S)={}$\\
+\quad$\{\sigma'\mid t\in T, t'\in T',
+\sigma\in S, \sigma'\in\fn{unify}(t,t',\sigma)\}$
 \end{tabular}
 \end{center}
-
-We now show the $\fn{cows}$ function produces the unifiers that make
-up a carried only within solution.  It may also produce non-minimal
-unifiers.  An additional step is required to remove these unifiers.
-
-The $\fn{cows}$ function terminates because each step in the iteration
-reduces the number of variables in the problem statement.
-Several lemmas are required to show termination.
-
-\begin{lem}\label{lem:unify subst less}
-$\sigma'\in\fn{unify}(t,t',\sigma)$ and
-  $\sigma(t)\not\equiv\sigma(t')$ implies $\sigma\lhd\sigma'$.
-\end{lem}
-
-\begin{proof}
-Assume the negation of the conclusion, that there is a
-substitution~$\sigma''$ such that $\sigma=\sigma''\circ\sigma'$.  The
-first hypothesis implies $\sigma'(t)\equiv\sigma'(t')$, so
-$\sigma''(\sigma'(t))\equiv\sigma''(\sigma'(t'))$, a contradiction.
-\end{proof}
-
-\begin{lem}\label{lem:cows less general or equal}
-$\sigma'\in\fn{cowf}(\sigma(t),\sigma(T_e),\sigma(t'),\sigma)$
-implies $\sigma\unlhd\sigma'$.
-\end{lem}
-
-\begin{proof}
-By expanding definitions and the transitivity of~$\unlhd$.
-\end{proof}
-
-\iffalse
-\begin{lem}\label{lem:cows less carpos}
-$\sigma'\in\fn{cowf}(\sigma(t),\sigma(T_e),\sigma(t'),\sigma)$
-and $\sigma'(t)$ not {\cow}~$\sigma'(T_e)$ in~$\sigma'(t')$
-implies
-$\fn{carpos}(\sigma(t),\sigma(t'))\subset
-\fn{carpos}(\sigma'(t),\sigma'(t'))$.
-\end{lem}
-
-\begin{proof}
-Assume the negation of the conclusion.  By Lemmas~\ref{lem:carpos
-  subst} and~\ref{lem:cows less general or equal},
-$\fn{carpos}(\sigma(t),\sigma(t'))=
-\fn{carpos}(\sigma'(t),\sigma'(t'))$.
-Inspection of the \fn{cows} function shows that substitution~$\sigma'$ solves
-the equations specified in Definition~\ref{def:cow},
-a contradiction with the second hypothesis.
-\end{proof}
-\fi
-
-\begin{lem}\label{lem:cows less general}
-$\sigma'\in\fn{cowf}(\sigma(t),\sigma(T_e),\sigma(t'),\sigma)$
-and
-$\sigma(t)$ not {\cow}~$\sigma(T_e)$ in~$\sigma(t')$
-implies
-$\sigma\lhd\sigma'$.
-\end{lem}
-
-\begin{proof}
-Assume the negation of the conclusion, that there is a
-substitution~$\sigma''$ such that $\sigma=\sigma''\circ\sigma'$.
-The first hypothesis implies~$\sigma'$ solves a set of equations
-generated by $\fn{carpos}(\sigma'(t),\sigma'(t'))$.
-By Lemma~\ref{lem:cows less general or equal}, $\sigma''$ must be a
-variable renaming, so $\sigma''\circ\sigma'$ solves the same set of equations,
-a contradiction with the second hypothesis.
-\end{proof}
-
-\begin{thm}\label{lem:cows terminates}
-The function $\fn{cows}(t,T_e,t')$ terminates on all inputs.
-\end{thm}
-
-\begin{proof}
-By Lemma~\ref{lem:cows less general}, each substitution produced at a
-non-terminating step extends a substitution and is strictly less
-general than the extended substitution.  Therefore, for each
-$\sigma'\in\fn{cowf}(\sigma(t),\sigma(T_e),\sigma(t'),\sigma)$,
-the cardinality of the set of variables that occur in $\sigma'(t)$,
-$\sigma'(T_e)$, and $\sigma'(t')$ is less than the one for
-$\sigma(t)$, $\sigma(T_e)$, and $\sigma(t')$.
-\end{proof}
-
-\begin{thm}\label{lem:cows sound}
-$\sigma\in\fn{cows}(t,T_e,t')$ implies
-$\sigma(t)$ is {\cow}~$\sigma(T_e)$ in~$\sigma(t')$.
-\end{thm}
-
-\begin{proof}
-Function $\fn{cows}_0$ ensures this property holds when it
-terminates.
-\end{proof}
-
-\begin{thm}\label{thm:cows complete}
-$\sigma(t)$ is {\cow}~$\sigma(T_e)$ in~$\sigma(t')$ implies
-  there exists a substitution~$\sigma'$ such that
-  $\sigma'\unlhd\sigma$ and
-  $\sigma'\in\fn{cows}(t,T_e,t')$.
-\end{thm}
-
-\begin{proof}
-After~$i$ steps, the set of substitutions supplied to
-$\fn{cows}_0$ is:
-$$\begin{array}{r@{}c@{}l}
-S_0&{}={}&\{\idsigma\}\\
-S_{i+1}&{}={}&\{\sigma'\mid\sigma'\in
-\fn{cowf}(\sigma(t),\sigma(T),\sigma(t'),\sigma),\sigma\in S_i\}
-\end{array}$$
-By Lemma~\ref{lem:cows less general or equal}, for each $\sigma'\in
-S_{i+1}$, there is a $\sigma\in S_i$ such that $\sigma\unlhd\sigma'$.
-
-The problems solved at the $i+1^{\mathrm{th}}$ step is $\probs^i_{t,T,t'}$.
-$$\begin{array}{r@{}c@{}l}
-\probs^0_{t,T,t'}&{}={}&\{E\mid E\in\probs_{t,T,t'},
-\mbox{$\idsigma$ is a unifier of $E$}\}\\
-\probs^{i+1}_{t,T,t'}&{}={}&
-\{E\mid \begin{array}[t]{@{}l}
-\sigma\in S_i,
-E\in\probs_{t,T,t'}(\fn{carpos}(\sigma(t),\sigma(t'))),\\
-\sigma'\in S_{i+1}, \mbox{$\sigma'$ is a unifier of $E$}\}
-\end{array}
-\end{array}$$
-
-By Lemma~\ref{lem:carpos subst}, for each $E'\in
-\probs^{i+1}_{t,T,t'}$ there is a $E\in \probs^i_{t,T,t'}$ such that
-$E\subseteq E'$.  Observe that by construction, $S_i$
-contains a complete set of unifiers for the unification problems in
-$\probs^i_{t,T,t'}$.
-
-By hypothesis, since $\sigma(t)$ is {\cow}~$\sigma(T)$
-in~$\sigma(t')$, there is a unification problem
-$E\in\probs^\sigma_{t,T,t'}$.  By induction we show that there is an
-$E_i\in\probs^i_{t,T,t'}$ such that $E_i\subseteq E$ for all $i$.
-
-The base case is obvious, so assume the conclusion at~$i$, that there
-is a $\sigma_i\in S_i$ that is a unifier for some $E_i\subseteq E$ and
-$\sigma_i\unlhd\sigma$.  By Lemma~\ref{lem:carpos subst}, there must
-be an $E_{i+1}$ such that $E_i\subseteq E_{i+i}\subseteq E$.
-Since~$S_{i+i}$ contains a complete set of unifiers for~$E_{i+1}$,
-there is a $\sigma_{i+1}\in S_{i+1}$ with $\sigma_{i+1}\unlhd\sigma$.
-
-Since the \fn{cows} function terminates and computes complete sets of
-unifiers, it will produce a~$\sigma'$ such that $\sigma\unlhd\sigma'$.
-\end{proof}
+\caption{The \fn{cows} Function}\label{fig:cows}
+\end{figure}
 
 \section{Authentication Tests}\label{sec:auth tests}
 
@@ -2495,6 +2238,11 @@
 $k\reduction{\ops{S}_\sigma}k_0\reduction{\fn{skel}}k_1$.
 \end{defn}
 
+{\cpsa} computes a set of substitutions for each critical message, and
+then removes some substitutions to form a complete set of most
+general unifiers.  Only most general unifiers are used for
+contractions.
+
 The function~$\ops{A}_{i,n}$ augments a preskeleton with a new strand.
 It appends the instance~$i$ to the sequence of instances, adds node
 orderings, and adds atoms as specified by the role of the instance.
@@ -2613,48 +2361,65 @@
 operation inserts the critical message into the trace
 $\sigma_r\circ\fn{rtrace}(r)$.
 
-The next step is to explore ways to extend the substitution~$\sigma'$
-so that for events in $\sigma'\circ\fn{rtrace}(r)$ that
-precede~$t_{n-1}$, the critical message is carried only within the
-escape set.  The function \fn{cowt} performs the explorations,
-producing the substitutions
-$S'=\fn{cowt}(t_c,T_e,\fn{rtrace}(r)|_{n-1},S)$.
+\begin{figure}
 \begin{center}
 \begin{tabular}{l}
-$\fn{cowt}(t,T_e,\seq{},S)=S$\\
-$\fn{cowt}(t,T_e,\seq{\pm t'}\append C,S)={}$\\
-$\quad\fn{cowt}(t,T_e,C,\bigcup_{\sigma\in S}
-\fn{cows}_0(\sigma(t),\sigma(T_e),\sigma(t'),\sigma))$
+$\fn{cowt}(t,T,C,S) ={}$\\
+$\quad\bigcup_{\sigma\in S}\fn{cowt}_0(t,T,C,\sigma)$\\
+\\
+$\fn{cowt}_0(t,T,C,\sigma) ={}$\\
+\quad \textbf{if} $\all{t}\pm t\in C\to\sigma(t)$ is {\cow} $\sigma(T)$ at
+$\sigma(t')$ \textbf{then}\\
+\qquad $\{\sigma\}$\\
+\quad \textbf{else}\\
+\qquad$\fn{cowt}(t,T,C,\fn{foldn}(t, T, C, \{\sigma\}))$\\
+\\
+$\fn{foldn}(t,T,\seq{},S)=S$\\
+$\fn{foldn}(t,T,\seq{\pm t'}\append C,S)={}$\\
+$\quad\fn{foldn}(t,T,C,\bigcup_{\sigma\in S}\fn{fold}(t,T,t',\sigma))$
 \end{tabular}
 \end{center}
-Function $\fn{cows}_0$ is defined in Section~\ref{sec:cow}.
+\caption{The $\fn{cowt}$ Function}\label{fig:cowt}
+\end{figure}
 
-The final step is to check that for each $\sigma''\in S'$, $\sigma''(t_c)$
-is not carried only within $\sigma''(T_e)$ in~$\sigma''(t_{n-1})$.  If so
+The next step is to explore ways to extend the substitution~$\sigma'$
+so that for events in $\sigma'\circ\fn{rtrace}(r)$ that
+precede~$t_{n-1}$, the critical message is carried only within the
+escape set.  The function \fn{cowt}, presented in
+Figure~\ref{fig:cowt}, performs the explorations, producing the
+substitutions $S'=\fn{cowt}(t_c,T_e,\fn{rtrace}(r)|_{n-1},S)$.
+Function $\fn{fold}$ is defined in Figure~\ref{fig:cows}.
+
+The final step is to remove substitutions $\sigma\in S'$ such that
+$\sigma(t_c)$ is carried only within $\sigma(T_e)$
+in~$\sigma(t_{n-1})$ and produce a complete set of most general
+unifiers~$S''$ by removing less general unifiers.  For each
+$\sigma'\in S''$,
 there is a potential regular augmentation constructed from
 $(\sigma,i)$, where $\fn{role}(i)=r$, $\fn{height}(i)=n$,
-and $\fn{subst}(i)=\sigma$, where~$\sigma$ is~$\sigma''$ stripped of
+$\fn{subst}(i)=\sigma$, and~$\sigma$ is~$\sigma'$ stripped of
 mappings to messages with variables that do not occur in
-$\sigma''\circ\fn{rtrace}(r)$.
+$\sigma'\circ\fn{rtrace}(r)|_n$.
 
 \begin{note}
-Substitutions $\sigma''$ that are not mgus should be dumped.  Is it
-okay to dump substitutions before the last check?  Are we sure we can
-dump them before we transform the resulting preskeletons into pruned
-skeletons?
-
-Update: we have to dump non-mgus after the resulting preskeletons into pruned
-skeletons.
+For target terms to be the reasonable set for insertion of the
+critical message, one must require that variables of sort message are
+acquired.  This fact needs to be explained and noted as another reason
+for the acquired variable constraint.
 \end{note}
 
-\begin{note}
-It may not be enough to add an edge from the final node of the new strand
-to the test node.  It may be that in order to really \emph{solve} the
-test, we must provide a sufficient explanation of how the added strand
-received the critical term carried only with the escape set.  This
-would involve finding the appropriate edges from the existing skeleton
-to the added strand.
-\end{note}
+\subsection{Regular Augmentation and Hulling}
+
+Consider regular augmentation
+$k\reduction{\ops{S}_\sigma}k_0\reduction{\ops{A}_{i,n}}k_1
+\reduction{\fn{skel}}k_2$, where $k_1$ is not a hulled preskeleton.
+Let~$k_3$ be the result of one hulling step.  It is crucial that
+$k\longmapsto k_2$, but it need not be the case that $k_1\longmapsto
+k_3$.  The reason is that a point of origination on the augmenting
+strand may move during hulling, but that's okay since the augmenting
+strand is not in the image of a homomorphism from~$k$.  An
+implementation must be careful not to check the preservation of
+origination points in this particular case.
 
 \section{Generalization}\label{generalization}
 
diff --git a/doc/cpsatheory.tex b/doc/cpsatheory.tex
new file mode 100644
--- /dev/null
+++ b/doc/cpsatheory.tex
@@ -0,0 +1,906 @@
+\documentclass[12pt]{article}
+\usepackage{amssymb}
+\usepackage{amsmath}
+\usepackage{amsthm}
+\usepackage[matrix,arrow,curve]{xy}
+
+\title{CPSA Theory}
+\author{John D. Ramsdell}
+
+\input{macros}
+
+\hyphenation{pro-to-skel-e-ton}
+\hyphenation{pro-to-role}
+
+\theoremstyle{definition}
+\newtheorem{defn}{Definition}[section]
+\newtheorem{conj}{Conjecture}[section]
+\newtheorem{prop}{Proposition}[section]
+
+\newcommand{\inv}[1]{\ensuremath{\cn{inv}(#1)}}
+\newcommand{\gen}{\ensuremath{\cn{g}}}
+\newcommand{\expr}[2]{\ensuremath{{#1}^{#2}}}
+\newcommand{\sca}{\textsc{sca}}
+\newcommand{\alga}{\alg{A}}
+\newcommand{\tr}{\ensuremath{\mathfrak C}}
+\newcommand{\base}{\ensuremath{\mathfrak B}}
+\newcommand{\ints}{\ensuremath{\mathbb Z}}
+\newcommand{\solve}[1]{\stackrel{#1}{\longtwoheadrightarrow}}
+\newcommand{\pubmsg}{\mathbf{P}}
+\newcommand{\excl}{\mathbf{X}}
+\newcommand{\transpred}{\mathbf{T}}
+\newcommand{\outpred}{\fn{outpred}}
+\newcommand{\avoid}{\fn{avoid}}
+\newcommand{\unique}{\fn{unique}}
+\newcommand{\non}{\fn{non}}
+\newcommand{\dcmp}{\fn{dcmp}}
+\newcommand{\carpos}{\fn{carpos}}
+\newcommand{\esc}{\fn{esc}}
+\newcommand{\msg}{\fn{msg}}
+\newcommand{\eo}{\fn{eo}}
+\newcommand{\ie}{\fn{ie}}
+\newcommand{\crit}{\fn{crit}}
+\newcommand{\anc}{\fn{anc}}
+\newcommand{\mcow}{\fn{cow}}
+\newcommand{\mncow}{\fn{ncow}}
+\newcommand{\sdom}{\fn{Dom}}
+\newcommand{\sran}{\fn{Ran}}
+\newcommand{\evt}{\fn{evt}}
+\newcommand{\role}{\mathsf{r}}
+\newcommand{\skel}{\mathsf{k}}
+\newcommand{\rl}{\fn{rl}}
+\newcommand{\nodes}{\fn{nodes}}
+\newcommand{\lsn}{\fn{lsn}}
+\newcommand{\init}{\fn{init}}
+\newcommand{\resp}{\fn{resp}}
+%\newcommand{\pow}[1]{\wp(#1)}
+
+\begin{document}
+\maketitle
+\cpsacopying
+
+{\cpsa} takes a partial description of a run of a protocol, and
+attempts to produce a compact description of all possibles runs of the
+protocol compatible with the partial description.  Given a partial
+description, {\cpsa} uses an authentication test to infer what else
+must have happened, and thereby reduce the problem to finding
+possible runs starting with a set of more refined descriptions.  The
+goal of this document is to precisely describe authentication tests.
+
+The formal definition of a partial run of a protocol is called a
+skeleton, and is introduced in Section~\ref{sec:skeletons}.  To
+motivate the definition, Section~\ref{sec:order-sorted mesg algs}
+describes a simplified version of a message algebra used in {\cpsa}.
+Section~\ref{sec:strand spaces and bundles} describes a bundle, a
+model of asynchronous messages-passing that includes the behaviors of
+honest and adversarial participants.  It also introduces the notion of
+a protocol, and specifies what it means for a bundle to be a run of a
+protocol.
+
+Section~\ref{sec:adversary model} describes the capabilities of the
+adversary.  {\cpsa} does not explicitly represents adversarial
+behaviors.  Section~\ref{sec:skeletons} and Section~\ref{sec:pen deriv
+  mesgs} reveal the means by which the details of adversarial
+behavior is abstracted away.  Finally, Section~\ref{sec:auth tests}
+describes authentication tests.
+
+\section{Order-Sorted Message Algebras}\label{sec:order-sorted mesg algs}
+
+{\cpsa} models a message by an equivalence class of terms over a
+signature. A sort system is used to classify messages.  {\cpsa}
+depends on the sort system to allow it to treat a variable that
+represents an asymmetric key differently from a variable that
+represents an arbitrary message.  In particular, {\cpsa} uses
+order-sorted quotient term algebras~\cite{GoguenMeseguer92} for
+message algebras.  This formalism enables the use of well-known
+algorithms for unification and matching in the presences of equations
+and sorts.
+
+This paper makes no attempt to provide a general introduction to
+order-sorted quotient term algebras.  Instead, it presents a very
+simple message algebra, called the Simple Crypto Algebra (\sca), that
+suffices for this document.
+
+\begin{figure}
+$$\begin{array}{ll@{{}\colon{}}ll}
+\mbox{Sorts:}&\multicolumn{3}{l}{\mbox{$\top$, $S$, and $A$, where $S<\top$ and $A<\top$}}\\
+\mbox{Operations:}&(\cdot,\cdot)&\top\times\top\to\top& \mbox{Pairing}\\
+&\enc{\cdot}{(\cdot)}&\top\times S\to\top& \mbox{Symmetric encryption}\\
+&\enc{\cdot}{(\cdot)}&\top\times A\to\top& \mbox{Asymmetric encryption}\\
+&(\cdot)^{-1}&S\to S& \mbox{Symmetric key inverse}\\
+&(\cdot)^{-1}&A\to A& \mbox{Asymmetric key inverse}
+\end{array}$$
+\caption{Simple Crypto Algebra Signature}\label{fig:signature}
+\end{figure}
+
+There are three {\sca} sorts: $\top$, the sort of all messages, $S$,
+the sort of symmetric keys, and $A$, the sort of asymmetric keys.
+Every symmetric key is a message (written $S<\top$), and every
+asymmetric key is a message ($A<\top$).  The function symbols, or
+\emph{operations}, used to form terms are given by the signature in
+Figure~\ref{fig:signature}.  Notice that the encryption and key
+inverse operations are overloaded.
+
+Each variable~$x$ used to form a term has a unique sort~$s$, written
+$x\colon s$.  If~$X$ is a set of variables, $X_s=\{x\mid x\colon s\}$.
+For {\sca}, $X_\top$, $X_S$, and $X_A$, partition a variable set~$X$.
+
+There are two equations in {\sca}, both associated with key inverse.
+For symmetric key $x\colon S$, $x^{-1}\approx x$, and for asymmetric
+key $y\colon A$, $(y^{-1})^{-1}\approx y$.
+
+\begin{figure}
+$$\begin{array}{r@{{}={}}l}
+\alga_S&\{\{x^{-n}\mid n\in\nat\}\mid x\in X_S\}\\
+\alga_A&\begin{array}[t]{@{}l}
+\{\{x^{-2n}\mid n\in\nat\}\mid x\in X_A\}\\
+\quad{}\cup\{\{x^{-2n-1}\mid n\in\nat\}\mid x\in X_A\}
+\end{array}\\
+\base&\alga_S\cup\alga_A\\
+\alga^0_\top&\base\cup \{\{x\}\mid x\in X_\top\}\\
+\alga^{n+1}_\top&\alga^n_\top
+\begin{array}[t]{@{}l}
+{}\cup\{\{(t_0,t_1)\mid t_0\in T_0, t_1\in T_1\}\mid
+ T_0\in\alga^n_\top,T_1\in\alga^n_\top\}\\
+{}\cup\{\{\enc{t_0}{t_1}\mid t_0\in T_0, t_1\in T_1\}\mid
+ T_0\in\alga^n_\top,T_1\in\base\}
+\end{array}\\
+\alga = \alga_\top&\bigcup_{n\in\nat}\alga^n_\top
+\end{array}$$
+\caption{{\sca} Messages~$\alga$ and Atoms~$\base$}\label{fig:algebra}
+\end{figure}
+
+The Simple Crypto Quotient Term Algebra~$\alga$ generated by variable
+set~$X$ is displayed in Figure~\ref{fig:algebra}.  The union of the
+messages in~$\alga$ is set of terms generated by~$X$, and~$\alga$
+partitions the set of terms into a set of equivalence classes induced
+by the equations.  Terms~$t_0$ and~$t_1$ are equivalent, written
+$t_0\equiv t_1$, iff $t_0\in T\land t_1\in T$ for some $T\in\alga$.
+The canonical representative of a message is the $t$ in $\{t'\mid
+t'\equiv t\}$ with the fewest occurrences of the $(\cdot)^{-1}$
+operation.
+
+In {\sca}, there is a least sort~$s$ associated with each term~$t$,
+written $t\colon s$.  If $t\in T$ for some $T\in\alga_S$ then $t\colon
+S$, else if $t\in T$ for some $T\in\alga_A$ then $t\colon A$,
+otherwise $t\colon\top$.  Obviously, each message has a least sort
+too.
+
+The keys in the algebra are called \emph{atoms} and are members
+of~$\base$.  We write $t\colon B$ iff $t\colon S$ or $t\colon A$.
+
+An important property possessed by the algebra is that the terms that
+make up a message either are all encryptions or are never encryptions.
+As a result, a message can be identified as representing an encryption
+and if it is, decomposed into its plaintext and its decryption key.
+This property is a consequence of the fact that equations relate
+atoms, not arbitrary messages.
+
+We write $\alga_X$ when it is important to identify the variable
+set~$X$ that generates the algebra.  Given two variable sets~$X$
+and~$Y$, a \emph{substitution} is an order-sorted map~$\sigma\colon
+X\rightarrow\alga_Y$ such that $\sigma(x)\neq x$ for only finitely many
+elements of~$X$.  For a substitution~$\sigma$, the \emph{domain} is
+the set of variables $\sdom(\sigma)=\{x\mid \sigma(x)\neq x\}$ and the
+\emph{range} is the set $\sran(\sigma)=\{\sigma(x)\mid
+x\in\sdom(\sigma)\}$.  Given a substitution~$\sigma\colon
+X\rightarrow\alga_Y$, the unique homomorphism $\sigma^\ast\colon
+\alga_X\rightarrow\alga_Y$ induced by~$\sigma$ is also denoted~$\sigma$.
+
+In what follows, a finite sequence is a function from an initial
+segment of the whole numbers.  The length of a sequence~$f$ is~$|f|$,
+and sequence~$f=\seq{f(1),\ldots,f(n)}$ for $n=|f|$.  Alternatively,
+$\seq{x_1,x_2,\ldots,x_n} =x_1\cons x_2\cons\ldots\cons
+x_n\cons\seq{}$.  If~$S$ is a set, then~$S^\ast$ is the set of finite
+sequences of~$S$, and~$S^+$ is the non-empty finite sequences of~$S$.
+
+A \emph{position}~$p$ is a finite sequence of whole numbers.  The
+term in~$t$ that \emph{occurs at}~$p$, written~$t\termat p$, is:
+$$\begin{array}{l}
+t\termat\seq{}=t;\\
+(t_1,t_2)\termat i\cons p=t_i\termat p\mbox{ for $i\in\{1,2\}$};\\
+\enc{t_1}{t_2}\termat i\cons p=t_i\termat p\mbox{ for
+  $i\in\{1,2\}$};\\
+t^{-1}\termat 1\cons p=t\termat p.
+\end{array}$$
+A term~$t$ \emph{occurs in} term~$t'$ if $t=t'\termat p$ for some~$p$.
+A message~$T$ \emph{occurs in} message~$T'$ if the canonical
+representative of~$T$ occurs in the canonical representative of~$T'$.
+
+A carried term is one that can be extracted from a message reception
+assuming plaintext is extractable from encryptions.  The
+positions at which term $t$ is carried in
+$t'$ is $\carpos(t,t')$, where
+$$\carpos(t,t')=\left\{
+\begin{array}{ll}
+\{\seq{}\}&\mbox{if $t'\equiv t$, else}\\
+\multicolumn{2}{l}{\{1\cons p \mid
+p\in\carpos(t,t_1)\}}\\
+& \mbox{if $t'=\enc{t_1}{t_2}$, else}\\
+\multicolumn{2}{l}{\{i\cons p \mid
+i\in\{1,2\}, p\in\carpos(t,t_i)\}} \\
+& \mbox{if $t'=(t_1,t_2)$ else}\\
+\emptyset&\mbox{otherwise.}
+\end{array}\right.$$
+
+Term~$t$ \emph{carries}~$t'$ if $\carpos(t',t)$ is not empty, and
+$t'\sqsubseteq t$ when~$t'$ is carried by~$t$.  Note that for all
+terms $t_0,t_1,t'_0,t'_1$, if $t_0\equiv t_1$ and $t'_0\equiv t'_1$,
+then $\carpos(t_0,t'_0)= \carpos(t_1,t'_1)$.
+
+In what follows, we will often conflate a term with the message of
+which it is a member, and use lowercase letters to denote both.
+
+\section{Strand Spaces and Bundles}\label{sec:strand spaces and bundles}
+
+A run of a protocol is viewed as an exchange of messages by a finite
+set of local sessions of the protocol.  Each local session is called a
+\emph{strand}.  The behavior of a strand, its \emph{trace}, is a
+sequence of messaging events.  An \emph{event} is either a message
+transmission or a reception.  Outbound message $t\in\alga_X$ is
+written as~$\outbnd t$, and inbound message~$t$ is written as~$\inbnd
+t$.  The set of traces over $\alga_X$ is $\tr_X=(\pm\alga_X)^+$.  A
+message \emph{originates} in a trace if it is carried by some event
+and the first event in which it is carried is outbound.  A message is
+\emph{acquired} by a trace if it first occurs in a reception event and
+is also carried by that event.
+
+A \emph{strand space}~$\Theta_X$ over algebra~$\alga_X$ is a sequence
+of traces in $\tr_X$.  A strand~$s$ is a member of the domain of
+$\Theta_X$, and its trace is $\Theta_X(s)$.  In a strand space, the
+elements of the generator set~$X$ denote atomic message elements, such
+as keys, and not composite messages, such as encryptions and pairs.
+Therefore, $X_\top=\emptyset$.
+
+Message events occur at nodes in a strand space.  For each strand~$s$,
+there is a node for every event in~$\Theta(s)$.  The \emph{nodes} of
+strand space $\Theta$ are $\{(s,i)\mid s\in\sdom(\Theta), 1\leq i\leq
+|\Theta(s)|\}$, and the event at a node is
+$\evt_\Theta(s,i)=\Theta(s)(i)$.  The relation~$\Rightarrow$ defined
+by $\{(s,i)\Rightarrow(s,i+1)\mid s\in\sdom(\Theta), 1\leq i<|\Theta(s)|\}$
+is called the \emph{strand succession relation}.
+
+A \emph{bundle} in strand space $\Theta$ is a finite directed
+acyclic graph $\Upsilon(\Theta,\to)$, where the vertices are the nodes
+of $\Theta$, and an edge represents communication~($\rightarrow$) or
+strand succession~($\Rightarrow$).  For communication, if
+$n_0\rightarrow n_1$, then there is a message~$t$ such
+that~$\evt_\Theta(n_0)=\outbnd t$ and~$\evt_\Theta(n_1)=\inbnd t$.
+For each reception node~$n_1$, there is a unique transmission
+node~$n_0$ with $n_0\rightarrow n_1$.
+
+Each acyclic graph has a transitive asymmetric relation~$\prec$ on its
+vertices.  The relation specifies the causal ordering of nodes in a
+bundle.  Relation~$R$ on set~$S$ is \emph{asymmetric} iff
+$x\mathbin{R}y$ implies not $y\mathbin{R}x$ for all distinct $x,y \in
+S$.
+
+An atom \emph{uniquely originates} in a bundle if it originates in
+the trace of exactly one strand.  An atom is \emph{non-originating} in
+a bundle if it originates on no strand, but each of its variables
+occurs in some strand's trace.
+
+In a run of a protocol, the behavior of each strand is constrained by
+a role in a protocol.  Adversarial strands are constrained by roles as
+are non-adversarial strands.  A protorole over $\alga_Y$ is
+$\role_Y(C,N,U)$, where $C\in\tr_Y$, $N\subseteq\base_Y$, and
+$U\subseteq\base_Y$.  The trace of the role is~$C$, its
+non-origination assumptions are~$N$, and its unique origination
+assumptions are~$U$.  A protorole is a \emph{role} if (1) $t\in N$ implies
+$t$ is not carried in $C$, and all variables in $t$ occur in $C$, (2)
+$t\in U$ implies $t$ originates in $C$, and (3) $x\in Y_\top$ occurs
+in $C$ implies $x$ is acquired in $C$.  A \emph{protocol} is a set of
+roles.
+
+A bundle~$\Upsilon(\Theta_X,\to)$ is a \emph{run of protocol}
+$P_Y$ if there is a role mapping $\rl\colon\Theta_X\to P_Y$ that
+satisfies properties for each $s\in\sdom(\Theta_X)$.  Assuming
+$\rl(s)=\role_Y(C,N,U)$ and $X$ and $Y$ share no variables, the
+properties are (1) $|\Theta_X(s)|\leq|C|$, (2) there is a
+homomorphism~$\sigma\colon\alga_Y\to\alga_X$ such that
+$\sigma(C(i))=\Theta_X(s)(i)$ for all $1\leq i\leq|\Theta_X(s)|$, (3) if
+the variables in $t\in N$ occur in $\sdom(\sigma)$, then $\sigma(t)$ is
+non-originating in $\Upsilon(\Theta_X,\to)$, and (4) if $t\in U$
+originates at index~$i$ in~$C$, and $i\leq|\Theta_X(s)|$, then
+$\sigma(t)$ uniquely originates in $\Upsilon(\Theta_X,\to)$ at node
+$(s,i)$.  Origination assumptions in bundles specified by roles are
+called \emph{inherited origination assumptions}.
+
+\section{Adversary Model}\label{sec:adversary model}
+
+A fixed set of penetrator roles encodes the adversary model associated
+with a message algebra.  For the Simple Crypto Algebra, there are eight
+roles.  Each role makes no origination assumptions, and the trace of
+each role is given in Figure~\ref{fig:pen}.  The first line of the
+figure specifies two traces, one for creating symmetric keys, and
+another for creating asymmetric keys.
+
+\begin{figure}
+$$\begin{array}{lll}
+\mbox{Create}&
+\seq{\outbnd z}&\seq{\outbnd w}\\
+\mbox{Pair}&
+\seq{\inbnd x,\inbnd y,\outbnd(x, y)}&
+\seq{\inbnd(x, y),\outbnd x,\outbnd y}\\
+\mbox{Encrypt}&
+\seq{\inbnd x,\inbnd z,\outbnd\enc{x}{z}}&
+\seq{\inbnd x,\inbnd w,\outbnd\enc{x}{w}}\\
+\mbox{Decrypt}&
+\seq{\inbnd\enc{x}{z},\inbnd z,\outbnd x}&
+\seq{\inbnd\enc{x}{w},\inbnd w^{-1},\outbnd x}\\[1em]
+\multicolumn{3}{c}{X_\top=\{x,y\}, X_S=\{z\}, X_A=\{w\}}
+\end{array}$$
+\caption{Simple Crypto Algebra Penetrator Role Traces}\label{fig:pen}
+\end{figure}
+
+A strand exhibits non-adversarial behavior when its role is not a
+penetrator role.  A non-adversarial strand is called a \emph{regular}
+strand as is its role.
+
+The penetrator cannot use a non-originating atom to encrypt or decrypt
+a message, because every key it uses must be carried in a message.
+Consider a uniquely originating atom that originates on a regular
+strand.  The penetrator cannot make the atom using a create role,
+because the atom would originate at more than one node.  Therefore,
+the penetrator can use a uniquely originating atom to encrypt or
+decrypt a message only if it is transmitted by a regular strand
+unprotected by encryption.
+
+\section{Skeletons}\label{sec:skeletons}
+
+The details of penetrator behavior are abstracted away when performing
+protocol analysis.  The abstracted description of a bundle is
+called a realized skeleton, which is defined using a protoskeleton.  A
+\emph{protoskeleton} over $\alga_X$ is
+$\skel_X(\rl,\Theta_X,\prec,N,U)$, where $\rl$ is a role map,
+$\Theta_X$ is a sequence of traces in $\tr_X$, $\prec$ is a relation
+on the nodes in $\Theta_X$, $N\subseteq\base_X$ are its
+non-origination assumptions, and $U\subseteq\base_X$ are its unique
+origination assumptions.  Unlike a strand space, the variable set~$X$
+that generates the algebra of a protoskeleton may have variables
+in~$X_\top$.
+
+Assume the strands in bundle $\Upsilon(\Theta_X,\to)$ have been
+permuted so that regular strands precede penetrator strands in
+sequence~$\Theta_X$, and $\rl$ demonstrates the bundle is a run of a
+protocol.  Skeleton $\skel_X(\rl',\Theta'_X,\prec,N,U)$
+\emph{realizes} the bundle if $\rl'$ and $\Theta'_X$ are the
+truncations of $\rl$ and $\Theta_X$ respectively that omit penetrator
+strands from their domains, $\prec$ is the transitive asymmetric
+relation associated with the bundle without penetrator nodes, $N$ is
+the set of non-originating atoms with variables that occur in
+$\Theta'_X$, and $U$ is the set of atoms that uniquely originate and
+are carried by some regular node.
+
+A protoskeleton $\skel_X(\rl,\Theta_X,\prec,N,U)$ is a \emph{preskeleton}
+if the following properties hold.
+\begin{enumerate}
+\item Sequence $\rl$ demonstrates that the strands in $\sdom(\Theta_X)$
+  satisfy the conditions for being a part of a run of the protocol.
+\item Relation $\prec$ is transitive, asymmetric, and includes the
+  strand succession relation $(\Rightarrow)$.
+\item Each atom in $N$ is carried at no node, and each variable
+  in the atom occurs at some node.
+\item Each atom in $U$ is carried at some node.
+\item $N$ includes the non-originating atoms inherited from roles via
+  the role map.
+\item $U$ includes the uniquely originating atoms inherited from roles via
+  the role map.
+\end{enumerate}
+
+Let $\orig_k(t)$ be the set of nodes at which~$t$ originates in
+preskeleton~$k$, and~$\acqu_k(t)$ be the set of nodes at which~$t$ is
+acquired in~$k$.  Preskeleton $\skel_X(\rl,\Theta_X,\prec,N,U)$ is a
+\emph{skeleton} if each atom in $U$ originates on at most one strand,
+and the node of origination precedes each node that acquires the atom,
+i.e.\@ for every~$t\in U$, $n_0\in\orig_k(t)$ and $n_1\in\acqu_k(t)$
+implies~$n_0\prec n_1$.
+
+Let $k_0=\skel_X(rl_0,\Theta_0,\prec_0,N_0,U_0)$ and
+$k_1=\skel_Y(rl_1,\Theta_1,\prec_1,N_1,U_1)$ be preskeletons.  There
+is a \emph{preskeleton homomorphism} from~$k_0$ to~$k_1$,
+written~$k_0\homomorphism{\phi,\sigma}k_1$, if~$\phi$ and~$\sigma$ are
+structure-preserving maps with the following properties:
+\begin{enumerate}
+\item $\phi$ maps strands of~$k_0$ into those of~$k_1$, and nodes as
+  $\phi((s,p))=(\phi(s),p)$, that is $\phi$ is in
+  $\sdom(\Theta_0)\to\sdom(\Theta_1)$;
+\item $\sigma\colon\alga_X\to\alga_Y$ is a message algebra homomorphism;
+\item $n\in\nodes(\Theta_0)$ implies $\sigma(\evt_{\Theta_0}(n))=\evt_{\Theta_1}(\phi(n))$;
+\item $n_0\prec_0 n_1$ implies $\phi(n_0)\prec_1\phi(n_1)$;
+\item $\sigma(N_0)\subseteq N_1$;
+\item $\sigma(U_0)\subseteq U_1$;
+\item $t\in U_0$ implies $\phi(\orig_{k_0}(t))\subseteq\orig_{k_1}(\sigma(t))$.
+\end{enumerate}
+A homomorphism is \emph{strandwise injective} if its strand map is
+injective.  Two preskeletons are isomorphic if they are related by
+strandwise injective homomorphism in both directions.  A homomorphism
+is \emph{nodewise isomorphic} if the strand map~$\phi$ implies a
+bijection on nodes, and $n_0\prec_1 n_1$ implies
+$\phi^{-1}(n_0)\prec_0\phi^{-1}(n_1)$.  A skeleton is \emph{realized}
+if there is a nodewise isomorphic homomorphism from it to a skeleton
+that realizes a bundle, and message component of the homomorphism
+is injective.
+
+Our formalism requires that every protocol include a listener role of
+the form: $\lsn(x\colon\top)=\role(\seq{\inbnd x,\outbnd
+  x},\emptyset,\emptyset)$.  Instances of this role are sometimes used
+to make penetrator derived messages visible in skeletons.  We say
+skeleton~$k$ \emph{realizes modulo listeners} bundle
+$\Upsilon(\Theta,\to) $ if~$k$ realizes $\Upsilon(\Theta',\to')$ and
+\hbox{$\Upsilon(\Theta,\to)$} is the result of removing full length listener
+strands, and adjusting the communication ordering $\to$ appropriately.
+
+The set of bundles denoted by preskeleton~$k$, $\sembrack{k}$, is:
+$$\sembrack{k_0} = \{\Upsilon\mid
+\mbox{$k_0\homomorphism{\phi,\sigma}k_1$ and $k_1$ realizes modulo
+  listeners $\Upsilon$}\}$$ Let~$\longrightarrow$ be an irreflexive
+reduction relation on preskeletons.  The relation~$\longrightarrow$ is
+semantics preserving if $\sembrack{k_0}=\bigcup_{\{k_1\in\{k_1\mid
+  k_0\longrightarrow k_1\}}\sembrack{k_1}$.
+
+\subsection{Dolev-Yao Example 1.3}
+The example has an initiator and responder role.
+$$\begin{array}{r@{{}={}}l}
+\init(a,b\colon A, m\colon S)&
+\role(\seq{\outbnd\enc{\enc{m}{b},a}{b},\inbnd\enc{\enc{m}{a},b}{a}},
+\emptyset,\emptyset)\\
+\resp(a,b\colon A, m\colon\top)&
+\role(\seq{\inbnd\enc{\enc{m}{b},a}{b},\outbnd\enc{\enc{m}{a},b}{a}},
+\emptyset,\emptyset)\\
+\end{array}$$
+The algebra for the initiator is generated from $X$, where
+$X_\top=\emptyset$, $X_S=\{m\}$, and $X_A=\{a,b\}$, and the algebra
+for the responder is generated from $Y$, where $Y_\top=\{m\}$,
+$Y_S=\emptyset$, and $Y_A=\{a,b\}$,
+
+An interesting point of view for analysis is to see if~$m$ is kept
+secret after the initiator sends its message.  Let variable set
+$Z=a,b\colon A, m\colon S$.  The initial scenario preskeleton is:
+$$\begin{array}{r@{}ll}
+\skel_Z(
+&\seq{\init(a_0,b_0,m_0),\lsn(x)},
+&\mbox{Roles}\\
+&\seq{\seq{\outbnd\enc{\enc{m}{b},a}{b}},\seq{\inbnd m}},
+&\mbox{Strands}\\
+&\emptyset,
+&\mbox{Node orderings}\\
+&\{a^{-1},b^{-1}\},
+&\mbox{Non-origination}\\
+&\{m\})
+&\mbox{Unique origination}
+\end{array}$$
+where the variable set that generates the algebra for the initiator
+role has been renamed so as to avoid conflicts with the variable set~$Z$
+used by the preskeleton.
+
+\begin{figure}
+$$\xymatrix{
+\txt{\strut init}&\txt{\strut }&\txt{\strut resp}&\txt{\strut resp}\\
+\bullet\ar[rrr]&&&\bullet\ar@{=>}[d]\\
+&&\bullet\ar@{=>}[d]&\bullet\ar[l]\\
+&\bullet\ar@{=>}[d]&\bullet\ar[l]&\\
+&\bullet&&}$$
+\caption{Dolev-Yao Example 1.3 Shape}\label{fig:dy shape}
+\end{figure}
+
+CPSA determines $m$ is not kept secret by producing the shape in
+Figure~\ref{fig:dy shape}.  The added strands in the shape are
+instances of responder roles.  The strands in the shape are:
+$$\begin{array}{l}
+\seq{\outbnd\enc{\enc{m}{b},a}{b}}\\
+\seq{\inbnd m}\\
+\seq{\inbnd\enc{\enc{m}{b},a'}{b},\outbnd\enc{\enc{m}{a'},b}{a'}}\\
+\seq{\inbnd\enc{\enc{\enc{m}{b}, a}{b},a''}{b},
+\outbnd\enc{\enc{\enc{m}{b},a}{a''},b}{a''}}
+\end{array}$$
+The non-origination and unique origination assumptions are as they are
+in the initial scenario preskeleton.  An interesting exercise left for
+the reader is to produce a bundle that is realized by the shape.
+
+\subsection{Exercise}
+
+Consider the following roles.
+$$\begin{array}{r@{{}={}}l}
+\init(a,b\colon A)&\role(\seq{\outbnd(a,b),\inbnd(b,a)},
+\emptyset,\emptyset)\\
+\resp(a,b\colon A)&\role(\seq{\inbnd(a,b),\outbnd(b,a)},
+\emptyset,\emptyset)
+\end{array}$$
+Let $X=x,y\colon A$ and
+$\begin{array}[t]{@{}r@{}l}
+k=\skel_X(
+&\seq{\init(a,b),\resp(a,b),\resp(a,b)},\\
+&\seq{\begin{array}[t]{@{}l}
+\seq{\outbnd(x,y),\inbnd(y,x)},\\
+\seq{\inbnd(x,y),\outbnd(y,x)},\\
+\seq{\inbnd(x,y),\outbnd(y,x)}},
+\end{array}\\
+&\mbox{Node ordering in Figure~\ref{fig:exercise}},\\
+&\emptyset,\\
+&\emptyset)
+\end{array}$
+
+\begin{figure}
+$$\xymatrix{
+\txt{\strut init}&\txt{\strut resp}&\txt{\strut resp}\\
+\bullet\ar@{=>}[d]\ar@/^/[rr]\ar[r]&\bullet\ar@{=>}[d]&\bullet\ar@{=>}[d]\\
+\bullet&\bullet\ar[l]&\bullet\ar@/^/[ll]}$$
+\caption{Exercise Skeleton}\label{fig:exercise}
+\end{figure}
+
+What is $\sembrack{k}$?
+
+One member is shown in Figure~\ref{fig:bundle}.
+
+\begin{figure}
+$$\begin{array}{ll}
+\mbox{init}&\seq{\outbnd(x,y),\inbnd(y,x)}\\
+\mbox{resp}&\seq{\inbnd(x,y),\outbnd(y,x)}\\
+\mbox{resp}&\seq{\inbnd(x,y),\outbnd(y,x)}\\
+\mbox{pair}&\seq{\inbnd(y,x),\inbnd(y,x),\outbnd((y,x),(y,x))}\\
+\mbox{sep}&\seq{\inbnd((y,x),(y,x)),\outbnd(y,x)}
+\end{array}$$
+
+$$\xymatrix{
+\txt{\strut init}&\txt{\strut resp}&\txt{\strut resp}&\txt{\strut pair}&\txt{\strut sep}\\
+\bullet\ar@{=>}[dddd]\ar@/^/[rr]\ar[r]&\bullet\ar@{=>}[d]&\bullet\ar@{=>}[d]&&\\
+&\bullet\ar@/_/[rrd]&\bullet\ar[r]&\bullet\ar@{=>}[d]&\\
+&&&\bullet\ar@{=>}[d]&\\
+&&&\bullet\ar[r]&\bullet\ar@{=>}[d]\\
+\bullet&&&&\bullet\ar[llll]}$$
+\caption{A Bundle Realized by the Example Skeleton}\label{fig:bundle}
+\end{figure}
+
+\section{Penetrator Derivable Messages}\label{sec:pen deriv mesgs}
+
+To simplify notation, we write~$U_k$ to refer to~$U$ when
+$k=\skel(\rl,\Theta,\prec,N,U)$, and similarly for the other
+components of preskeleton~$k$.
+
+This section specifies what the penetrator can derive in a skeleton at
+a given reception node.  In the section on the adversary model, it is
+explained why the penetrator cannot use create roles for atoms in the
+what is called the exclusion set~$\excl_k=N_k\cup\{t\mid t\in U_k,
+|\orig_k(t)|=1\}$.  At reception node~$n$, the messages available to
+the penetrator due to message transmissions in the past
+are~$\transpred_k(n)=\{t\mid n'\prec_k n, \evt_k(n')=\outbnd t\}$.
+Therefore, for an algebra generated by~$X$, the \emph{public messages}
+available to the penetrator at node~$n$ are
+$\pubmsg_k(n)=\transpred_k(n)\cup(\base\setminus\excl_k)\cup X_\top$.
+
+Penetrator roles determine what terms are derivable at a node.
+Messages are decomposed using three of the penetrator's roles.  Let
+$\to$ be a reduction relation on sets of messages defined as follows:
+$$\begin{array}{r@{{}\to{}}ll}
+\{(t_0,t_1)\}\cup T&\{t_0,t_1\}\cup T\\
+\{\enc{t_0}{t_1}\}\cup T&\{t_0,\enc{t_0}{t_1}\}\cup T
+&\mbox{if $t_1^{-1}\in T$ and $t_0\notin T$}
+\end{array}$$
+The minimum decryption set~$M(T)$ is the normal form of relation~$\to$,
+i.e.\ $T\to^\ast M(T)$ and there is no~$T'$ such that $M(T)\to T'$.
+
+Three penetrator roles construct messages.
+$$\begin{array}{r@{{}={}}l}
+D^0&M(T)\\
+D^{n+1}&\left\{\begin{array}{r@{{}\mid{}}l}
+(t_0,t_1)&t_0,t_1\in D^n\\
+\enc{t_0}{t_1}&t_0,t_1\in D^n
+\end{array}\right\}\\
+D(T)&\bigcup_{n\in\nat}D^n
+\end{array}$$
+A message~$t$ is derivable from~$T$, written $T\vdash t$, if $t\in D(T)$.
+A message~$t$ is derivable at node~$n$ if $\pubmsg_k(n)\vdash t$.
+
+\section{Authentication Tests}\label{sec:auth tests}
+
+In a realized skeleton, the message at every reception node is
+derivable, but this is not so for an unrealized skeleton.  A reception
+node that has a derivable message is called \emph{realized}, and
+{\cpsa} infers the existence of additional regular behavior by
+analyzing unrealized nodes.
+
+It does so by identifying a so called critical message, a message
+carried by the node's message.  The message is critical in the sense
+that the context in which it appears can only be explained by adding
+more regular strands, identifying messages, adding more constrains on
+node orderings, or various combinations of these actions.
+
+Consider a reception node~$n$ that receives $\enc{x}{k_0}$, where
+critical message~$x$ is a uniquely originating symmetric key,
+and~$k_0$ is an asymmetric key.  In this case, $x$ is being used as a
+nonce, and not for encryption, an artifact of algebra simplification.
+Assume that $\outbnd\enc{x}{k_1}$ is the only event that precedes~$n$,
+where~$k^{-1}_1$ is a non-originating asymmetric key.  Message
+$\enc{x}{k_0}$ is not derivable at~$n$, because
+$$\{\enc{x}{k_1}\}\cup(\base\setminus\{x,k^{-1}_1\})\cup
+X_\top\not\vdash\enc{x}{k_0}.$$ {\cpsa} might explain this reception
+by identifying messages~$k_0$ and~$k_1$, or it might add a strand that
+receives $\enc{x}{k_1}$ and transmits~$x$ before node~$n$ if a role
+permits this new behavior.
+
+A critical message might also be an encryption.  Continuing the
+previous example, suppose that~$k_0$ is non-originating, which makes
+$\enc{x}{k_0}$ into a critical message.  {\cpsa} might explain this
+reception by identifying messages~$k_0$ and~$k_1$, or it might add a
+strand that receives $\enc{x}{k_1}$ and transmits~$\enc{x}{k_0}$
+before node~$n$ if a role permits the new behavior.
+
+We proceed with making the definition of a critical message precise by
+first considering the contexts of interest in which a critical message
+appears.  For reception node~$n$, the contexts are encryptions derived
+from the public messages at~$n$, $\pubmsg(n)$, that contain the
+critical message.  Furthermore, the encryptions are members of the
+minimum decryption set~$M(\pubmsg(n))$ with underivable decryption
+keys.  The context is called an escape set.
+
+\begin{defn}[Escape Set]
+Let~$S$ be a set of public messages.  The \emph{escape set} for~$t$ in
+the context of~$S$ is $E(S,t)=\{\enc{t_0}{t_1}\in M(S) \mid
+t\sqsubseteq t_0\wedge S\not\vdash t^{-1}_1\}$ when $t\notin M(S)$.
+Otherwise, $E(S,t)$ is undefined.
+\end{defn}
+
+The intuition is this, a message~$t_c$ that is carried by the message
+at~$n$ is critical when the contents of the escape set cannot be used
+to derive~$t_c$.  To do so, the penetrator would have to decrypt a
+member of the escape set, which by definition it is not allowed to do.
+A critical message is one that has escaped the protection of
+previously transmitted encryptions, and {\cpsa} infers more regular
+behavior in response.
+
+We continue with the task of with making the definition of a critical
+message precise by stating what it means for an escape set to protect
+a message.  Suppose~$t$ is carried by~$t'$, and~$S$ is a set of public
+messages.  Furthermore, suppose that at every carried position at
+which~$t$ is carried in~$t'$, a subterm containing~$t$ is a member of
+the escape set $E(S,t)$.  In this case, we say that term~$t$ is
+carried only within $E(S,t)$ in~$t'$, and observe that the subterm
+containing $t$ is derivable because every member of the escape set is
+derivable.  There is nothing about the fact that~$t'$ carries~$t$ that
+can be used to infer more regular behavior.  An essential property of
+a critical message is that it is not carried only with the escape set
+in the message received at an unrealized node.  The precise definition
+of carried only within follows.
+
+\begin{defn}[Ancestors]
+For $t'=t\termat p$, the \emph{ancestors} of~$t'$ in~$t$ at~$p$ is the
+set $\anc(t,p)=\{t\termat p'\mid \mbox{$p'$ a proper prefix
+  of~$p$}\}$.
+\end{defn}
+
+\begin{defn}[Carried Only Within]
+Term~$t$ is \emph{carried only within} $T$ in~$t'$ iff
+$\mcow(t,T,t')=\all{p} p\in\carpos(t,t')$ implies
+$\anc(t',p)\cap T\neq\emptyset$. Predicate $\mncow(t,T,t')$ means
+$\lnot(\mcow(t,T,t'))$, and therefore $\mncow(t,T,t')=\some{p}
+p\in\carpos(t,t')$ and $\anc(t',p)\cap T=\emptyset$.
+\end{defn}
+
+A critical message may be either an atom or an encryption with an
+underivable encryption key.  A critical message cannot be derived from
+its subterms.
+
+\begin{defn}[Critical Message]
+Term $t_c$ is a \emph{critical message} of~$t$ in the context of
+public messages~$S$, written
+$t_c\in\crit(S,t)$, iff
+\begin{enumerate}
+\item $t_c\sqsubseteq t$
+\item $t_c$ is an atom or $t_c=\enc{t_0}{t_1}$ and
+$S\not\vdash t_1$
+\item $t_c\notin M(S)$
+\item $\mncow(t_c,E(S,t_c),t)$
+\end{enumerate}
+\end{defn}
+
+A critical message that is an atom is called a \emph{nonce test}, and
+one that is an encryption is called an \emph{encryption test},  and
+both types of tests are called an \emph{authentication test}.
+
+\begin{defn}[Test Node]
+Node~$n$ is a \emph{test node} in~$k$ if
+$\evt_k(n)=\inbnd t$ and $\crit(\pubmsg_k(n),t)\neq\emptyset.$
+\end{defn}
+
+\begin{prop}
+A reception node is a test node iff it is unrealized, alternatively
+$S\vdash t$ iff $\crit(S,t)=\emptyset$.
+\end{prop}
+\begin{proof}
+We show that $S\vdash t$ iff $\eo(S,t)=\emptyset$, where $\eo(S,t)$ is
+defined below, and then apply a theorem by Paul Rowe that states that
+$\eo(S,t)=\emptyset$ iff $\crit(S,t)=\emptyset$.
+\end{proof}
+
+\begin{defn}[Essential obstructions]\label{def:eo}
+Let~$S$ be a set of public messages.  The \emph{essential
+  obstructions} for~$t$ in the context of~$S$ is $\eo(S,t)$, where
+$$\eo(S,t)=\left\{
+\begin{array}{ll}
+\emptyset&\mbox{if $t\in M(S)$, else}\\
+\eo(S,t_0)\cup\eo(S,t_1)&\mbox{if $t=(t_0,t_1)$, else}\\
+\eo(S,t_0)&\mbox{if $t=\enc{t_0}{t_1}$ and $S\vdash t_1$, else}\\
+\{t\}&\mbox{otherwise}
+\end{array}\right.$$
+\end{defn}
+
+\begin{prop}
+$S\vdash t$ iff $\eo(S,t)=\emptyset$.
+\end{prop}
+\begin{proof}
+The cases in Definition~\ref{def:eo} follow the cases for constructing
+messages in Section~\ref{sec:pen deriv mesgs}.  The first case
+corresponds to showing that $S\vdash t$ with $t\in D^0$.  The second
+case corresponds to showing that $S\vdash (t_0,t_1)$ by finding an~$n$
+such that $t_0,t_1\in D^n$.  The third case is the same, but for an
+encryption.
+\end{proof}
+
+{\cpsa} makes progress by solving a test.  Suppose~$t_c$ is a critical
+message at~$n$ in~$k$, i.e.\ $\evt_k(n)=\inbnd t$ and
+$t_c\in\crit(\pubmsg_k(n),t)$, and suppose
+$k\homomorphism{\phi,\sigma}k'$.  Let $t'_c=\sigma(t_c)$, $T=
+E(\pubmsg_k(n),t_c)$, $T'=\sigma(T)$, $n'=\phi(n)$, and
+$\evt_{k'}(n')=\inbnd t'$.  Message~$t_c$ at~$n$ in~$k$ is
+\emph{solved} in~$k'$, written $k\solve{n,t_c}k'$, if
+\begin{enumerate}
+\item\label{enu:contract} $\mcow(t_c',T',t')$, or
+\item\label{enu:augment} for some $t_p\in\transpred_{k'}(n')$,
+$\mncow(t_c',T',t_p)$, or
+\item\label{enu:escape} for some $\enc{t_0}{t_1}\in T'$,
+$\pubmsg_{k'}(n')\vdash t_1^{-1}$, or
+\item\label{enu:crit} $t'_c=\enc{t_0}{t_1}$, and
+$\pubmsg_{k'}(n')\vdash t_1$.
+\end{enumerate}
+
+In words, {\cpsa} makes progress by a contraction
+(Item~\ref{enu:contract}), where messages are identified, an
+augmentation (Item~\ref{enu:augment}), where something is added to the
+escape set, or a listener augmentation (Item~\ref{enu:escape} and
+Item~\ref{enu:crit}), where an assumption about the lack of the
+derivability of a key is shown to be invalid.
+
+If solving a test is semantics preserving, and {\cpsa} produces a
+finite set of skeletons that preserve the semantics at every step,
+{\cpsa} will discover every
+possible bundle associated with an initial skeleton whenever {\cpsa}
+terminates.
+\begin{conj}
+$\sembrack{k}=\bigcup_{k'\in\{k'\mid k\solve{n,t_c}k'\}}\sembrack{k'}$.
+\end{conj}
+
+Alas, I know of no proof of this conjecture.
+
+\appendix
+\section{Unification in a Many-Sorted Algebra}
+
+Unification in the Simple Crypto Order-Sorted Algebra can be
+implemented using the unsorted unification algorithm from Laurence
+Paulson's ``ML for the Working Programmer'' in a many-sorted algebra
+isomorphic to the order-sorted algebra, with a modification to handle
+an equation.  See Figure~\ref{fig:unifier}.
+
+\begin{figure}
+$$
+\begin{array}{l}
+\cn{unify}(\ell, t, t') = \cn{unify\_aux}(\ell,\cn{chase}(\ell, t),
+\cn{chase}(\ell, t'))
+\\
+\\\cn{chase}(\ell, x)=
+\\ \qquad\mbox{let }t=\cn{lookup}(x,\ell)\mbox{ in}
+\\ \qquad \mbox{if }x = t\mbox{ then }x
+\mbox{ else }\cn{chase}(\ell, t)
+\\\cn{chase}(\ell, t^{-1})=\cn{chase\_invk}(\ell, t)\hfill(!)
+\\\cn{chase}(\ell, t)=t
+\\
+\\\cn{chase\_invk}(\ell, x)=\hfill(!)
+\\ \qquad\mbox{let }t=\cn{lookup}(x,\ell)\mbox{ in}\hfill(!)
+\\ \qquad \mbox{if }x = t\mbox{ then }x^{-1}
+\mbox{ else }\cn{chase\_invk}(\ell, t)\hfill(!)
+\\\cn{chase\_invk}(\ell, t^{-1})=\cn{chase}(\ell, t)\hfill(!)
+\\\cn{chase\_invk}(\ell, t)=t^{-1}\hfill(!)
+\\
+\\\cn{lookup}(x,\seq{})=x
+\\\cn{lookup}(x,(y,t)\cons\ell)=
+\mbox{if }x=y\mbox{ then }t\mbox{ else }
+\cn{lookup}(x, \ell)
+\\
+\\\cn{unify\_aux}(\ell,x,x) =\ell
+\\\cn{unify\_aux}(\ell,x,t) =\mbox{if }\cn{occurs}(x, t)\mbox{ then raise failure else }
+(x,t)\cons\ell
+\\\cn{unify\_aux}(\ell,t,x) =\cn{unify\_aux}(\ell,x,t)
+\\\cn{unify\_aux}(\ell,f(t,\ldots),f(t',\ldots)) =
+\cn{unify\_list}(\ell,\seq{t,\ldots},\seq{t',\ldots})
+\\\cn{unify\_aux}(\ell,t,t') =\mbox{raise failure}
+\\
+\\\cn{unify\_list}(\ell,\seq{},\seq{}) =\ell
+\\\cn{unify\_list}(\ell,t\cons u,t'\cons u') =
+\cn{unify\_list}(\cn{unify}(\ell,t,t'), u, u')
+\\\cn{unify\_list}(\ell,u,u') =\mbox{raise failure}
+\end{array}
+$$
+\caption{Unifier}\label{fig:unifier}
+\end{figure}
+
+\begin{description}
+\item[Signature:]
+$$\begin{array}{ll@{{}\colon{}}ll}
+\mbox{Sorts:}&\multicolumn{3}{l}{\mbox{$\top$, $S$, and $A$}}\\
+\mbox{Operations:}&s&S\to\top& \mbox{Symmetric key inclusion}\\
+&a&A\to\top& \mbox{Asymmetric key inclusion}\\
+&(\cdot,\cdot)&\top\times\top\to\top& \mbox{Pairing}\\
+&\enc{\cdot}{(\cdot)}&\top\times S\to\top& \mbox{Symmetric encryption}\\
+&\enc{\cdot}{(\cdot)}&\top\times A\to\top& \mbox{Asymmetric encryption}\\
+&(\cdot)^{-1}&S\to S& \mbox{Symmetric key inverse}\\
+&(\cdot)^{-1}&A\to A& \mbox{Asymmetric key inverse}
+\end{array}$$
+\item[Equations:] for $x\colon S$, $x^{-1}\approx x$, and for $y\colon
+  A$, $(y^{-1})^{-1}\approx y$
+\item[Translation:] $\sembrack{\cdot}$ maps an order-sorted term to a
+  many-sorted term
+$$\sembrack{t}=\left\{
+\begin{array}{ll}
+t&\mbox{if $t\in X_\top$}\\
+s(t)&\mbox{if $t\in X_S$}\\
+\sembrack{t_0}&\mbox{if $t = t_0^{-1}$ and $t_0 : S$}\\
+a(t)&\mbox{if $t\in X_A$}\\
+a(x^{-1})&\mbox{if $t = x^{-1}$ and $x\in X_A$}\\
+\sembrack{t_0}&\mbox{if $t = (t_0^{-1})^{-1}$ and $t_0 : A$}\\
+(\sembrack{t_0},\sembrack{t_1})&\mbox{if $t=(t_0,t_1)$}\\
+\enc{\sembrack{t_0}}{\sembrack{t_1}}&\mbox{if $t=\enc{t_0}{t_1}$}
+\end{array}
+\right.$$
+\item[Canonical Terms:] BNF
+$$\begin{array}{r@{{}\gets{}}l}
+T&X_\top\mid S\mid A\mid(T,T)\mid\enc{T}{S}\mid
+\enc{T}{A}
+\\ S&s(X_S)
+\\ A&a(X_A)\mid a(X_A^{-1})
+\end{array}$$
+\end{description}
+
+\section{Simple Diffie-Hellman Algebra}
+
+\begin{figure}
+$$\begin{array}{ll@{{}\colon{}}ll}
+\mbox{Sorts:}&\multicolumn{3}{l}{\mbox{$\top$, $S$, $A$, and $E$,
+    where $S<\top$, $A<\top$, and $E<\top$}}\\
+\mbox{Operations:}&(\cdot,\cdot)&\top\times\top\to\top& \mbox{Pairing}\\
+&\enc{\cdot}{(\cdot)}&\top\times S\to\top& \mbox{Symmetric encryption}\\
+&\enc{\cdot}{(\cdot)}&\top\times A\to\top& \mbox{Asymmetric encryption}\\
+&\cn{inv}&S\to S& \mbox{Symmetric key inverse}\\
+&\cn{inv}&A\to A& \mbox{Asymmetric key inverse}\\
+&\gen&S&\mbox{Generator}\\
+&\expr{(\cdot)}{(\cdot)}&S\times E\to S&\mbox{Exponentiation}\\
+&(\cdot \cdot)& E\times E\to E&\mbox{Multiplication}\\
+&(1/\cdot)&E\to E & \mbox{Reciprocal}\\
+&1&E & \mbox{Identity}
+\end{array}$$
+\caption{Simple Diffie-Hellman Algebra Signature}\label{fig:dh signature}
+\end{figure}
+
+\begin{figure}
+\begin{center}
+$$\begin{array}{lll}
+x(yz) \approx (xy)z&
+xy \approx yx&
+1x \approx x\\
+x(1/x) \approx 1&
+(h^x)^y \approx h^{xy}&
+h^1 \approx h\\
+\inv{h}\approx h&\inv{\inv{a}}\approx a
+\end{array}$$
+where $a\colon A$, $h\colon S$, and $x,y,z\colon E$
+\end{center}
+\caption{Simple Diffie-Hellman Algebra Equations}\label{fig:dh equations}
+\end{figure}
+
+\emph{This section will discuss the algebra whose signature is given
+  in Figure~\ref{fig:dh signature} and equations are given in
+  Figure~\ref{fig:dh equations}.}
+
+\bibliography{cpsa}
+\bibliographystyle{plain}
+
+\end{document}
diff --git a/doc/cpsauser.html b/doc/cpsauser.html
--- a/doc/cpsauser.html
+++ b/doc/cpsauser.html
@@ -46,8 +46,8 @@
 href="#cpsaannotations"><tt>cpsaannotations</tt></a> program uses protocol
 annotations to annotate shapes and generate protocol soundness obligations. The
 <a href="#cpsaparameters"><tt>cpsaparameters</tt></a> program detects some
-specification errors by performing a base term usage analysis. The <a
-href="#cpsapp"><tt>cpsapp</tt></a> program pretty prints its input using the
+specification errors by performing a data flow analysis on protocol roles. The
+<a href="#cpsapp"><tt>cpsapp</tt></a> program pretty prints its input using the
 CPSA specific algorithm.</p>
 
 <p>The input syntax is essentially the same as the output syntax. A Lisp aware
@@ -82,9 +82,15 @@
 <blockquote>
   <pre>CPSAFLAGS = +RTS -M512m -RTS
 
+BASIC_SRC := $(wildcard *.scm)
+DH_SRC := $(wildcard *.sch)
+
+BASIC = $(BASIC_SRC:%.scm=%_shapes.xml) $(BASIC_SRC:%.scm=%.xml)
+DH = $(DH_SRC:%.sch=%_shapes.xml) $(DH_SRC:%.sch=%.xml)
+
 include cpsa.mk
 
-all:    $(patsubst %.scm,%_shapes.xml,$(wildcard *.scm))
+all:    $(BASIC) $(DH)
 
 clean:
         -rm *.txt *.xml</pre>
@@ -92,8 +98,10 @@
 
 <p>For platforms without GNU <tt>make</tt>, the Haskell program <a
 href="Make.hs"><tt>Make.hs</tt></a> can be loaded into a Haskell interpreter
-and perform a similar function. Users are expected to modify the program to
-suit their needs.</p>
+and perform a similar function. Users are expected to copy the makefile or the
+Haskell program into the directory containing a set of analysis problems, and
+then modify the file so it specifies the command line flags appropriate for the
+problems in the directory.</p>
 
 <h2>Syntax</h2>
 
@@ -131,10 +139,12 @@
 the sort of the variables used in this role. The set of sort symbols is algebra
 specific. The protocol association list has no predefined keys, while the role
 association list has two. The value associated with both of these keys must be
-base terms in the algebra. Each <tt>non-orig</tt> term must not be carried by
-any event in the role's trace, but must occur in some term. Each
-<tt>uniq-orig</tt> term must originate in the role's trace. Every non-base
-variable must be acquired by the role's trace.</p>
+atoms in the algebra. Each <tt>non-orig</tt> term must not be carried by any
+event in the role's trace, but each of its variables must occur in some term. A
+role non-origination assumption of the form <tt>(3 a)</tt> asserts that atom
+<tt>a</tt> will not be mapped into an instance unless its height is at least
+three. Each <tt>uniq-orig</tt> term must originate in the role's trace. Every
+non-atomic variable must be acquired by the role's trace.</p>
 
 <p>The structure of sorts and terms in the Basic Cryptographic Algebra
 follows.</p>
@@ -149,6 +159,10 @@
 <p>The form (<tt>cat</tt> a b c d e) is sugar for (<tt>cat</tt> a (<tt>cat</tt>
 b (<tt>cat</tt> c (<tt>cat</tt> d e)))).</p>
 
+<p>A term in the Basic Crypto Algebra is an atom if it is variable of a sort
+other than <tt>mesg</tt>, or it if formed from one of the following operations:
+<tt>pubk</tt>, <tt>privk</tt>, <tt>invk</tt>, and <tt>ltk</tt>.</p>
+
 <blockquote>
   <pre>SKELETON   ::= (defskeleton ID VARS STRAND+ SKEL-ALIST)
 STRAND     ::= (defstrand ID INT MAPLET*) | (deflistener TERM)
@@ -215,6 +229,12 @@
       |  (one) | (mul TERM*) | (rec TERM)</pre>
 </blockquote>
 
+<p>The additional terms are all atoms.</p>
+
+<p>Diffie-Hellman support is experimental.  There remains unresolved
+  issues as to what can be produced by the adversary in this
+  algebra.</p>
+
 <h3>Macros</h3>
 
 <p>After reading the input, <tt>cpsa</tt> expands macros before in analyzing
@@ -369,9 +389,9 @@
 <h3>Syntax</h3>
 
 <p>To be analyzed, each role in a protocol must include an <tt>annotations</tt>
-form. The <tt>TERM</tt> is a role base term that when instantiated, is the name
-of a principal in the shape. What follows is sequences of pairs. The integer
-gives the position of the event in the trace that is annotated by the formula.
+form. The <tt>TERM</tt> is a role atom that when instantiated, is the name of a
+principal in the shape. What follows is sequences of pairs. The integer gives
+the position of the event in the trace that is annotated by the formula.
 Zero-based indexing is used.</p>
 
 <p>The language of formulas is first-order logic extended with a modal says
@@ -401,8 +421,8 @@
 
 <h2 id="cpsaparameters">Parameter Analysis</h2>
 
-<p>The parameters of a role are the base terms that are not acquired by the
-role's trace, but must be available before a complete execution of the trace is
+<p>The parameters of a role are the atoms that are not acquired by the role's
+trace, but must be available before a complete execution of the trace is
 possible. This program computes sets of sets of parameters consistent with the
 role. If the expected parameter set is not a member, a specification error is
 indicated.</p>
@@ -423,7 +443,7 @@
 <h3>Output</h3>
 
 <p>On output, each role contains a <tt>parameters</tt> form with a list of sets
-of base terms.</p>
+of atoms.</p>
 
 <blockquote>
   <pre>(defrole resp (vars (b a name) (n2 n1 text))
diff --git a/doc/macros.tex b/doc/macros.tex
--- a/doc/macros.tex
+++ b/doc/macros.tex
@@ -1,7 +1,7 @@
 \newcommand{\cpsa}{\textsc{cpsa}}
-\newcommand{\version}{2.0.4}
+\newcommand{\version}{2.0.5}
 \newcommand{\cpsacopying}{\begingroup
-  \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2009 The
+  \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2010 The
     MITRE Corporation.  Permission to copy without fee all or part of
     this material is granted provided that the copies are not made or
     distributed for direct commercial advantage, this copyright notice
@@ -10,17 +10,14 @@
     Corporation.}\endgroup}
 \newcommand{\pov}{\textsc{pov}}
 \newcommand{\cow}{\textsc{cow}}
-\newcommand{\cn}[1]{\ensuremath{\mathop{\relax
-                    \smash{\sf#1}}\!\mathop{\vphantom{#1}}\nolimits}}
-\newcommand{\dom}[1]{\ensuremath{\mathop{\relax
-                    \smash{\rm#1}}\!\mathop{\vphantom{#1}}\nolimits}}
-\newcommand{\fn}[1]{\ensuremath{\mathop{\relax
-                    \smash{\it#1}}\!\mathop{\vphantom{#1}}\nolimits}}
-\newcommand{\seq}[1]{\langle#1\rangle}
-\newcommand{\enc}[2]{\{\!|#1|\!\}_{#2}}
+\newcommand{\cn}[1]{\ensuremath{\operatorname{\mathsf{#1}}}}
+\newcommand{\dom}[1]{\ensuremath{\operatorname{\mathrm{#1}}}}
+\newcommand{\fn}[1]{\ensuremath{\operatorname{\mathit{#1}}}}
+\newcommand{\seq}[1]{\ensuremath{\langle#1\rangle}}
+\newcommand{\enc}[2]{\ensuremath{\{\!|#1|\!\}_{#2}}}
 \newcommand{\comp}[2]{{\mathord{#1}}\circ{\mathord{#2}}}
 \newcommand{\sembrack}[1]{[\![#1]\!]}
-\newcommand{\semfn}[1]{{\mathcal #1}}
+\newcommand{\semfn}[1]{\mathcal{#1}}
 \newcommand{\sem}[2]{\semfn{#1}\sembrack{#2}}
 \newcommand{\mcsu}{\ensuremath{\mathcal{C}}}
 \newcommand{\probs}{\ensuremath{\mathcal{E}}}
@@ -28,6 +25,8 @@
 \newcommand{\inbnd}{\mathord -}
 \newcommand{\outbnd}{\mathord +}
 \newcommand{\nat}{\mathbb{N}}
+\newcommand{\all}[1]{\forall#1\mathpunct{.}}
+\newcommand{\some}[1]{\exists#1\mathpunct{.}}
 \newcommand{\baseterms}{\mathbb{B}}
 \newcommand{\cons}{\mathbin{::}}
 \newcommand{\ith}{\imath^\mathrm{th}}
diff --git a/src/CPSA/Lib/Cohort.hs b/src/CPSA/Lib/Cohort.hs
--- a/src/CPSA/Lib/Cohort.hs
+++ b/src/CPSA/Lib/Cohort.hs
@@ -287,25 +287,35 @@
 
 cows :: Algebra t p g s e c => t -> Set t -> t -> (g, s) -> [(g, s)]
 cows ct escape t subst =
-    if carriedOnlyWithin ct escape t then
+    if carriedOnlyWithinAtSubst ct escape t subst then
         [subst]
     else
-        concatMap f (cowf ct escape t [subst])
+        concatMap f (fold ct escape t subst)
         where
-          f (gen, subst) =
-              let ct' = substitute subst ct
-                  escape' = S.map (substitute subst) escape
-                  t' = substitute subst t in
-              cows ct' escape' t' (gen, subst)
+          f subst =
+              cows ct escape t subst
 
-cowf :: Algebra t p g s e c => t -> Set t -> t -> [(g, s)] -> [(g, s)]
-cowf ct escape t substs =
-    foldl f substs (carriedPlaces ct t)
+carriedOnlyWithinAtSubst :: Algebra t p g s e c => 
+                            t -> Set t -> t -> (g, s) -> Bool
+carriedOnlyWithinAtSubst  ct escape t (_, subst) =
+    carriedOnlyWithin ct' escape' t'
     where
+      ct' = substitute subst ct
+      escape' = S.map (substitute subst) escape
+      t' = substitute subst t
+
+fold :: Algebra t p g s e c => t -> Set t -> t -> (g, s) -> [(g, s)]
+fold ct escape t (gen, subst) =
+    [ (gen', compose subst' subst) |
+      (gen', subst') <- foldl f [(gen, emptySubst)] (carriedPlaces ct' t') ]
+    where
+      ct' = substitute subst ct
+      escape' = S.map (substitute subst) escape
+      t' = substitute subst t
       f substs p =
           [ s |
-            a <- ancestors t p,
-            e <- S.toList escape,
+            a <- ancestors t' p,
+            e <- S.toList escape',
             subst <- substs,
             s <- maybeToList $ unify a e subst ]
 
@@ -395,7 +405,7 @@
             substs = carriedBindings targets t subst
             substs' =
                 if useMguFilter then
-                    concat [ mgus $ cowt ct escape past [s] | s <- substs]
+                    mgus $ cowt ct escape past substs
                 else
                     cowt ct escape past substs
             acc' = maybeAug ct escape role ht substs' acc t
@@ -419,18 +429,30 @@
       s <- maybeToList $ unify subterm target subst ]
 
 -- Ensure the critical term is carried only within the escape set of
--- every term in the past using cows.
+-- every term in the past using fold from cows.
 cowt :: Algebra t p g s e c => t -> Set t ->
         Trace t p g s e c -> [(g, s)] -> [(g, s)]
-cowt _ _ [] substs = substs
-cowt ct escape (evt : c) substs =
-    cowt ct escape c (concatMap f substs)
+cowt ct escape c substs =
+    concatMap (cowt0 ct escape c) substs
+
+-- Handle one substitution at a time.
+cowt0 :: Algebra t p g s e c => t -> Set t ->
+         Trace t p g s e c -> (g, s) -> [(g, s)]
+cowt0 ct escape c subst =
+    if all (f subst) c then     -- Substitution works
+        [subst]
+    else                        -- Substitution needs refinement
+        cowt ct escape c (foldn ct escape c [subst])
     where
-      f (gen, subst) =
-          let ct' = substitute subst ct
-              escape' = S.map (substitute subst) escape
-              t' = substitute subst (evtTerm evt) in
-          cows ct' escape' t' (gen, subst)
+      f subst evt =
+          carriedOnlyWithinAtSubst ct escape (evtTerm evt) subst
+
+-- Apply fold to each message in the trace.
+foldn :: Algebra t p g s e c => t -> Set t ->
+         Trace t p g s e c -> [(g, s)] -> [(g, s)]
+foldn _ _ [] substs = substs
+foldn ct escape (evt : c) substs =
+    foldn ct escape c (concatMap (fold ct escape (evtTerm evt)) substs)
 
 -- If the outbound term is carried only within, no transforming node
 -- was found, otherwise, add a candidate augmentation to the
diff --git a/src/CPSA/Lib/Strand.hs b/src/CPSA/Lib/Strand.hs
--- a/src/CPSA/Lib/Strand.hs
+++ b/src/CPSA/Lib/Strand.hs
@@ -71,7 +71,7 @@
 
 -- Experiment: try adding displacements to the augmentation procedure.
 useDisplacement :: Bool
-useDisplacement = False
+useDisplacement = False -- True
 
 -- Instances and Strand Identifiers
 
@@ -911,23 +911,18 @@
 hull :: Algebra t p g s e c => Bool -> PRS t p g s e c ->
         Maybe (PRS t p g s e c)
 hull prune (k, n, hsubst) =
-    loop (kunique k)
+    loop (korig k)
     where
-      loop [] = enrich prune (k, n, hsubst) -- No uniques originate
-      loop (term : terms) =                 -- on more than one strand
-          case findPair k term of
-            Nothing -> loop terms
-            Just (s, s') ->
-                do
-                  (s'', s''', subst) <- unifyStrands k s s'
-                  prs <- ksubst (k, n, hsubst) subst
-                  prs' <- compress prs s'' s'''
-                  hull prune prs'
-      findPair k term =
-          case lookup term (korig k) of
-            Just ((s, _) : (s', _) : _) -> Just (s, s')
-            Just _ -> Nothing
-            Nothing -> error "Strand.toSkeleton: term not in kunique"
+      -- No uniques originate on more than one strand
+      loop [] = enrich prune (k, n, hsubst)
+      -- Found a pair that needs hulling
+      loop ((_, (s, _) : (s', _) : _) : _) =
+          do
+            (s'', s''', subst) <- unifyStrands k s s'
+            prs <- ksubst (k, n, hsubst) subst
+            prs' <- compress prs s'' s'''
+            hull prune prs'
+      loop(_ : orig) = loop orig
 
 -- See if two strands unify.  They can be of differing heights.  The
 -- second strand returned may be longer.
@@ -1215,7 +1210,10 @@
            orderings' non' unique' (operation k) (prob k) (pov k)
       k' <- wellFormedPreskel k'
       case useDisplacement of
-        False -> hull True (k', n, hsubst)
+        False ->
+            do
+              (k', n, hsubst) <- augCollapses k (k', n, hsubst) (nstrands k)
+              hull True (k', n, hsubst)
         True -> return (k', n, hsubst)
 
 -- Inherit non-originating atoms if the traces is long enough
@@ -1234,11 +1232,46 @@
     where
       f (_, pos) = pos < height i
 
+augCollapses :: Algebra t p g s e c => Preskel t p g s e c ->
+                PRS t p g s e c -> Sid -> Maybe (PRS t p g s e c )
+augCollapses k0 prs@(k, _, _) s =
+    foldM f prs (findCollapses k s)
+    where
+      f prs s' =
+          do
+            (_, _, subst) <- unifyStrands k s s'
+            augSubst k0 prs subst
+
+-- Find the strands that share an origination point with s
+findCollapses :: Algebra t p g s e c => Preskel t p g s e c -> Sid -> [Sid]
+findCollapses k s =
+    L.nub [ s' | (_, nodes) <- korig k,
+                 let ss = map fst nodes,
+                 elem s ss,
+                 s' <- ss,
+                 s' /= s]
+
+augSubst :: Algebra t p g s e c => Preskel t p g s e c ->
+            PRS t p g s e c -> (g, s) -> Maybe (PRS t p g s e c)
+augSubst k0 (k, n, hsubst) (gen, subst) =
+    do
+      (gen', insts') <- foldMapM (substInst subst) gen (insts k)
+      let non' = map (substitute subst) (knon k)
+      let unique' = map (substitute subst) (kunique k)
+      let operation' = substOper subst (operation k)
+      let k' = newPreskel gen' (protocol k) insts'
+               (orderings k) non' unique' operation' (prob k) (pov k)
+      k' <- wellFormedPreskel k'
+      let hsubst' = compose subst hsubst
+      case validateSubst k0 hsubst' k' of
+        True -> return (k', n, hsubst')
+        False -> Nothing
+
 augDisplace :: Algebra t p g s e c => Preskel t p g s e c ->
                Preskel t p g s e c -> Node -> s -> [PRS t p g s e c]
 augDisplace k0 k n hsubst =
     let s = nstrands k - 1 in
-    [k' | s' <- [0..(s-1)],
+    [k' | s' <- nats s,
           k' <- M.maybeToList $ augDisplaceStrands k0 k n hsubst s s']
 
 augDisplaceStrands :: Algebra t p g s e c => Preskel t p g s e c ->
@@ -1252,28 +1285,12 @@
       prs <- compress prs s s'
       hull True prs
 
-addedToDisplaced :: Algebra t p g s e c => Operation t p g s e c -> 
+addedToDisplaced :: Algebra t p g s e c => Operation t p g s e c ->
                     Int -> Int -> Operation t p g s e c
 addedToDisplaced (AddedStrand role height cause) s s' =
     Displaced s s' role height cause
 addedToDisplaced _ _ _ = error "Strand.addedToDisplaced: Bad operation"
 
-augSubst :: Algebra t p g s e c => Preskel t p g s e c ->
-            PRS t p g s e c -> (g, s) -> Maybe (PRS t p g s e c)
-augSubst k0 (k, n, hsubst) (gen, subst) =
-    do
-      (gen', insts') <- foldMapM (substInst subst) gen (insts k)
-      let non' = map (substitute subst) (knon k)
-      let unique' = map (substitute subst) (kunique k)
-      let operation' = substOper subst (operation k)
-      let k' = newPreskel gen' (protocol k) insts'
-               (orderings k) non' unique' operation' (prob k) (pov k)
-      k' <- wellFormedPreskel k'
-      let hsubst' = compose subst hsubst
-      case validateSubst k0 hsubst' k' of
-        True -> return (k', n, hsubst')
-        False -> Nothing
-
 -- Listener Augmentation
 
 addListener :: Algebra t p g s e c => Preskel t p g s e c -> Node ->
@@ -1667,7 +1684,7 @@
 collapse :: Algebra t p g s e c => Preskel t p g s e c ->
             [Preskel t p g s e c]
 collapse k =
-    [k' | s <- strandids k, s' <- [0..(s-1)],
+    [k' | s <- strandids k, s' <- nats s,
           k' <- M.maybeToList $ collapseStrands k s s']
 
 collapseStrands :: Algebra t p g s e c => Preskel t p g s e c ->
diff --git a/tst/blanchet.scm b/tst/blanchet.scm
new file mode 100644
--- /dev/null
+++ b/tst/blanchet.scm
@@ -0,0 +1,45 @@
+(defprotocol blanchet basic
+  (defrole init
+    (vars (a b name) (s skey) (d text))
+    (trace
+     (send (enc (enc s (privk a)) (pubk b)))
+     (recv (enc d s))))
+  (defrole resp
+    (vars (a b name) (s skey) (d text))
+    (trace
+     (recv (enc (enc s (privk a)) (pubk b)))
+     (send (enc d s)))))
+
+(defskeleton blanchet
+  (vars (a b name) (s skey) (d text))
+  (defstrand resp 2 (a a) (b b) (s s) (d d))
+  (non-orig (privk a) (privk b))
+  (uniq-orig s))
+
+(defskeleton blanchet
+  (vars (a b name) (s skey) (d text))
+  (defstrand resp 2 (a a) (b b) (s s) (d d))
+  (deflistener s)
+  (non-orig (privk a) (privk b))
+  (uniq-orig s))
+
+(defskeleton blanchet
+  (vars (a b name) (s skey) (d text))
+  (defstrand init 2 (a a) (b b) (s s) (d d))
+  (deflistener s)
+  (non-orig (privk a) (privk b))
+  (uniq-orig s))
+
+(defskeleton blanchet
+  (vars (a b name) (s skey) (d text))
+  (defstrand init 2 (a a) (b b) (s s) (d d))
+  (deflistener s)
+  (non-orig (privk a))
+  (uniq-orig s))
+
+(defskeleton blanchet
+  (vars (a b name) (s skey) (d text))
+  (defstrand init 2 (a a) (b b) (s s) (d d))
+  (deflistener s)
+  (non-orig (privk a))
+  (uniq-orig s d))
diff --git a/tst/blanchet.tst b/tst/blanchet.tst
new file mode 100644
--- /dev/null
+++ b/tst/blanchet.tst
@@ -0,0 +1,182 @@
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol blanchet basic
+  (defrole init
+    (vars (a b name) (s skey) (d text))
+    (trace (send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
+  (defrole resp
+    (vars (a b name) (s skey) (d text))
+    (trace (recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand resp 2 (d d) (a a) (b b) (s s))
+  (non-orig (privk a) (privk b))
+  (uniq-orig s)
+  (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s))))
+  (label 0)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton blanchet
+  (vars (d text) (a b b-0 name) (s skey))
+  (defstrand resp 2 (d d) (a a) (b b) (s s))
+  (defstrand init 1 (a a) (b b-0) (s s))
+  (precedes ((1 0) (0 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig s)
+  (operation encryption-test (added-strand init 1) (enc s (privk a))
+    (0 0))
+  (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))
+    ((send (enc (enc s (privk a)) (pubk b-0)))))
+  (label 1)
+  (parent 0)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol blanchet basic
+  (defrole init
+    (vars (a b name) (s skey) (d text))
+    (trace (send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
+  (defrole resp
+    (vars (a b name) (s skey) (d text))
+    (trace (recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand resp 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (non-orig (privk a) (privk b))
+  (uniq-orig s)
+  (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))
+    ((recv s) (send s)))
+  (label 2)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton blanchet
+  (vars (d text) (a b b-0 name) (s skey))
+  (defstrand resp 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (defstrand init 1 (a a) (b b-0) (s s))
+  (precedes ((2 0) (0 0)) ((2 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig s)
+  (operation encryption-test (added-strand init 1) (enc s (privk a))
+    (0 0))
+  (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))
+    ((recv s) (send s)) ((send (enc (enc s (privk a)) (pubk b-0)))))
+  (label 3)
+  (parent 2)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol blanchet basic
+  (defrole init
+    (vars (a b name) (s skey) (d text))
+    (trace (send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
+  (defrole resp
+    (vars (a b name) (s skey) (d text))
+    (trace (recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand init 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (non-orig (privk a) (privk b))
+  (uniq-orig s)
+  (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
+    ((recv s) (send s)))
+  (label 4)
+  (unrealized (0 1) (1 0)))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand init 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig s)
+  (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
+    ((recv s) (send s)))
+  (label 5)
+  (parent 4)
+  (unrealized (0 1) (1 0))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol blanchet basic
+  (defrole init
+    (vars (a b name) (s skey) (d text))
+    (trace (send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
+  (defrole resp
+    (vars (a b name) (s skey) (d text))
+    (trace (recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand init 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (non-orig (privk a))
+  (uniq-orig s)
+  (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
+    ((recv s) (send s)))
+  (label 6)
+  (unrealized (1 0)))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand init 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig s)
+  (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
+    ((recv s) (send s)))
+  (label 7)
+  (parent 6)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol blanchet basic
+  (defrole init
+    (vars (a b name) (s skey) (d text))
+    (trace (send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
+  (defrole resp
+    (vars (a b name) (s skey) (d text))
+    (trace (recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand init 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (non-orig (privk a))
+  (uniq-orig d s)
+  (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
+    ((recv s) (send s)))
+  (label 8)
+  (unrealized (1 0)))
+
+(defskeleton blanchet
+  (vars (d text) (a b name) (s skey))
+  (defstrand init 2 (d d) (a a) (b b) (s s))
+  (deflistener s)
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig d s)
+  (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
+    ((recv s) (send s)))
+  (label 9)
+  (parent 8)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/completeness-test.tst b/tst/completeness-test.tst
--- a/tst/completeness-test.tst
+++ b/tst/completeness-test.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol completeness-test basic
diff --git a/tst/dass_simple.tst b/tst/dass_simple.tst
--- a/tst/dass_simple.tst
+++ b/tst/dass_simple.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol dass basic
diff --git a/tst/denning-sacco.tst b/tst/denning-sacco.tst
--- a/tst/denning-sacco.tst
+++ b/tst/denning-sacco.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol denning-sacco basic
@@ -88,10 +88,10 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (a b ks a-0 name) (k skey))
+  (vars (ta text) (a b ks b-0 name) (k skey))
   (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a a-0) (b b) (ks ks))
+  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)))
   (non-orig (privk a) (privk b) (privk ks))
   (uniq-orig k)
@@ -107,20 +107,20 @@
       (send
         (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
           (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat a-0 b))
+    ((recv (cat b b-0))
       (send
-        (cat (enc b (pubk b) (privk ks))
-          (enc a-0 (pubk a-0) (privk ks))))))
+        (cat (enc b-0 (pubk b-0) (privk ks))
+          (enc b (pubk b) (privk ks))))))
   (label 3)
   (parent 2)
   (unrealized (1 1))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (a b ks b-0 name) (k skey))
+  (vars (ta text) (a b ks a-0 name) (k skey))
   (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
+  (defstrand keyserver 2 (a a-0) (b b) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)))
   (non-orig (privk a) (privk b) (privk ks))
   (uniq-orig k)
@@ -136,21 +136,21 @@
       (send
         (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
           (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat b b-0))
+    ((recv (cat a-0 b))
       (send
-        (cat (enc b-0 (pubk b-0) (privk ks))
-          (enc b (pubk b) (privk ks))))))
+        (cat (enc b (pubk b) (privk ks))
+          (enc a-0 (pubk a-0) (privk ks))))))
   (label 4)
   (parent 2)
   (unrealized (1 1))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (a b ks a-0 a-1 name) (k skey))
+  (vars (ta text) (a b ks b-0 b-1 name) (k skey))
   (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a a-0) (b b) (ks ks))
-  (defstrand keyserver 2 (a a-1) (b a) (ks ks))
+  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
+  (defstrand keyserver 2 (a a) (b b-1) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)) ((3 1) (1 1)))
   (non-orig (privk a) (privk b) (privk ks))
   (uniq-orig k)
@@ -166,14 +166,14 @@
       (send
         (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
           (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat a-0 b))
+    ((recv (cat b b-0))
       (send
-        (cat (enc b (pubk b) (privk ks))
-          (enc a-0 (pubk a-0) (privk ks)))))
-    ((recv (cat a-1 a))
+        (cat (enc b-0 (pubk b-0) (privk ks))
+          (enc b (pubk b) (privk ks)))))
+    ((recv (cat a b-1))
       (send
-        (cat (enc a (pubk a) (privk ks))
-          (enc a-1 (pubk a-1) (privk ks))))))
+        (cat (enc b-1 (pubk b-1) (privk ks))
+          (enc a (pubk a) (privk ks))))))
   (label 5)
   (parent 3)
   (unrealized)
@@ -181,11 +181,11 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (a b ks a-0 b-0 name) (k skey))
+  (vars (ta text) (a b ks b-0 a-0 name) (k skey))
   (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a a-0) (b b) (ks ks))
-  (defstrand keyserver 2 (a a) (b b-0) (ks ks))
+  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
+  (defstrand keyserver 2 (a a-0) (b a) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)) ((3 1) (1 1)))
   (non-orig (privk a) (privk b) (privk ks))
   (uniq-orig k)
@@ -201,14 +201,14 @@
       (send
         (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
           (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat a-0 b))
-      (send
-        (cat (enc b (pubk b) (privk ks))
-          (enc a-0 (pubk a-0) (privk ks)))))
-    ((recv (cat a b-0))
+    ((recv (cat b b-0))
       (send
         (cat (enc b-0 (pubk b-0) (privk ks))
-          (enc a (pubk a) (privk ks))))))
+          (enc b (pubk b) (privk ks)))))
+    ((recv (cat a-0 a))
+      (send
+        (cat (enc a (pubk a) (privk ks))
+          (enc a-0 (pubk a-0) (privk ks))))))
   (label 6)
   (parent 3)
   (unrealized)
@@ -216,11 +216,11 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (a b ks b-0 a-0 name) (k skey))
+  (vars (ta text) (a b ks a-0 b-0 name) (k skey))
   (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
-  (defstrand keyserver 2 (a a-0) (b a) (ks ks))
+  (defstrand keyserver 2 (a a-0) (b b) (ks ks))
+  (defstrand keyserver 2 (a a) (b b-0) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)) ((3 1) (1 1)))
   (non-orig (privk a) (privk b) (privk ks))
   (uniq-orig k)
@@ -236,14 +236,14 @@
       (send
         (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
           (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat b b-0))
+    ((recv (cat a-0 b))
       (send
-        (cat (enc b-0 (pubk b-0) (privk ks))
-          (enc b (pubk b) (privk ks)))))
-    ((recv (cat a-0 a))
+        (cat (enc b (pubk b) (privk ks))
+          (enc a-0 (pubk a-0) (privk ks)))))
+    ((recv (cat a b-0))
       (send
-        (cat (enc a (pubk a) (privk ks))
-          (enc a-0 (pubk a-0) (privk ks))))))
+        (cat (enc b-0 (pubk b-0) (privk ks))
+          (enc a (pubk a) (privk ks))))))
   (label 7)
   (parent 4)
   (unrealized)
@@ -251,11 +251,11 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (a b ks b-0 b-1 name) (k skey))
+  (vars (ta text) (a b ks a-0 a-1 name) (k skey))
   (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
-  (defstrand keyserver 2 (a a) (b b-1) (ks ks))
+  (defstrand keyserver 2 (a a-0) (b b) (ks ks))
+  (defstrand keyserver 2 (a a-1) (b a) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)) ((3 1) (1 1)))
   (non-orig (privk a) (privk b) (privk ks))
   (uniq-orig k)
@@ -271,14 +271,14 @@
       (send
         (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
           (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat b b-0))
+    ((recv (cat a-0 b))
       (send
-        (cat (enc b-0 (pubk b-0) (privk ks))
-          (enc b (pubk b) (privk ks)))))
-    ((recv (cat a b-1))
+        (cat (enc b (pubk b) (privk ks))
+          (enc a-0 (pubk a-0) (privk ks)))))
+    ((recv (cat a-1 a))
       (send
-        (cat (enc b-1 (pubk b-1) (privk ks))
-          (enc a (pubk a) (privk ks))))))
+        (cat (enc a (pubk a) (privk ks))
+          (enc a-1 (pubk a-1) (privk ks))))))
   (label 8)
   (parent 4)
   (unrealized)
@@ -286,10 +286,10 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton denning-sacco
-  (vars (ta text) (b ks a name) (k skey))
+  (vars (ta text) (b ks b-0 name) (k skey))
   (defstrand resp 1 (ta ta) (a b) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a b) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)))
   (non-orig (privk b) (privk ks))
   (uniq-orig k)
@@ -304,42 +304,16 @@
       (send
         (enc (enc b b k ta (privk b)) (enc b (pubk b) (privk ks))
           (enc b (pubk b) (privk ks)) (pubk b))))
-    ((recv (cat a b))
+    ((recv (cat b b-0))
       (send
-        (cat (enc b (pubk b) (privk ks)) (enc a (pubk a) (privk ks))))))
+        (cat (enc b-0 (pubk b-0) (privk ks))
+          (enc b (pubk b) (privk ks))))))
   (label 9)
   (parent 5)
   (unrealized)
   (shape))
 
 (defskeleton denning-sacco
-  (vars (ta text) (b ks a name) (k skey))
-  (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a a) (b b) (ks ks))
-  (precedes ((1 2) (0 0)) ((2 1) (1 1)))
-  (non-orig (privk b) (privk ks) (privk a))
-  (uniq-orig k)
-  (operation collapsed 3 2)
-  (traces
-    ((recv
-       (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
-         (enc a (pubk a) (privk ks)) (pubk b))))
-    ((send (cat a b))
-      (recv
-        (cat (enc b (pubk b) (privk ks)) (enc a (pubk a) (privk ks))))
-      (send
-        (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
-          (enc a (pubk a) (privk ks)) (pubk b))))
-    ((recv (cat a b))
-      (send
-        (cat (enc b (pubk b) (privk ks)) (enc a (pubk a) (privk ks))))))
-  (label 10)
-  (parent 6)
-  (unrealized)
-  (shape))
-
-(defskeleton denning-sacco
   (vars (ta text) (b ks b-0 name) (k skey))
   (defstrand resp 1 (ta ta) (a b-0) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a b-0) (b b) (ks ks) (k k))
@@ -363,16 +337,43 @@
       (send
         (cat (enc b-0 (pubk b-0) (privk ks))
           (enc b (pubk b) (privk ks))))))
+  (label 10)
+  (parent 6)
+  (unrealized)
+  (shape))
+
+(defskeleton denning-sacco
+  (vars (ta text) (b ks a name) (k skey))
+  (defstrand resp 1 (ta ta) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ta ta) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (a a) (b b) (ks ks))
+  (precedes ((1 2) (0 0)) ((2 1) (1 1)))
+  (non-orig (privk b) (privk ks) (privk a))
+  (uniq-orig k)
+  (operation collapsed 3 2)
+  (traces
+    ((recv
+       (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
+         (enc a (pubk a) (privk ks)) (pubk b))))
+    ((send (cat a b))
+      (recv
+        (cat (enc b (pubk b) (privk ks)) (enc a (pubk a) (privk ks))))
+      (send
+        (enc (enc a b k ta (privk a)) (enc b (pubk b) (privk ks))
+          (enc a (pubk a) (privk ks)) (pubk b))))
+    ((recv (cat a b))
+      (send
+        (cat (enc b (pubk b) (privk ks)) (enc a (pubk a) (privk ks))))))
   (label 11)
   (parent 7)
   (unrealized)
   (shape))
 
 (defskeleton denning-sacco
-  (vars (ta text) (b ks b-0 name) (k skey))
+  (vars (ta text) (b ks a name) (k skey))
   (defstrand resp 1 (ta ta) (a b) (b b) (ks ks) (k k))
   (defstrand init 3 (ta ta) (a b) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (a b) (b b-0) (ks ks))
+  (defstrand keyserver 2 (a a) (b b) (ks ks))
   (precedes ((1 2) (0 0)) ((2 1) (1 1)))
   (non-orig (privk b) (privk ks))
   (uniq-orig k)
@@ -387,10 +388,9 @@
       (send
         (enc (enc b b k ta (privk b)) (enc b (pubk b) (privk ks))
           (enc b (pubk b) (privk ks)) (pubk b))))
-    ((recv (cat b b-0))
+    ((recv (cat a b))
       (send
-        (cat (enc b-0 (pubk b-0) (privk ks))
-          (enc b (pubk b) (privk ks))))))
+        (cat (enc b (pubk b) (privk ks)) (enc a (pubk a) (privk ks))))))
   (label 12)
   (parent 8)
   (unrealized)
diff --git a/tst/dh.tst b/tst/dh.tst
--- a/tst/dh.tst
+++ b/tst/dh.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol dhke diffie-hellman
diff --git a/tst/dy.tst b/tst/dy.tst
--- a/tst/dy.tst
+++ b/tst/dy.tst
@@ -1,1733 +1,1334 @@
-(comment "CPSA 2.0.4")
-(comment "All input read")
-
-(defprotocol dy basic
-  (defrole init
-    (vars (a b name) (m text))
-    (trace (send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a)))))
-  (defrole resp
-    (vars (a b name) (m mesg))
-    (trace (recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))))
-
-(defskeleton dy
-  (vars (m text) (a b name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a)))))
-  (label 0)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a b)) m (0 1)
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b)))))
-  (label 1)
-  (parent 0)
-  (unrealized)
-  (shape))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (0 1)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0)))))
-  (label 2)
-  (parent 0)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (0 1)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 3)
-  (parent 0)
-  (unrealized)
-  (shape))
-
-(defskeleton dy
-  (vars (m text) (b a name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-0 b)) m (0 1) (enc m (pubk b))
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a)))))
-  (label 4)
-  (parent 2)
-  (seen 1)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (0 1) (enc m (pubk b))
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1)))))
-  (label 5)
-  (parent 2)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-1 a)) m (2 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 6)
-  (parent 5)
-  (seen 3)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1)))))
-  (label 7)
-  (parent 5)
-  (unrealized)
-  (shape))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 8)
-  (parent 5)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-1 a)) m (2 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 9)
-  (parent 8)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1)))))
-  (label 10)
-  (parent 8)
-  (seen 6)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2)))))
-  (label 11)
-  (parent 8)
-  (unrealized (2 0) (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 12)
-  (parent 9)
-  (seen 3)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-1 b) (a-2 a-0)) m (4 0)
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0)))))
-  (label 13)
-  (parent 11)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (4 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 14)
-  (parent 11)
-  (unrealized (3 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (4 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 15)
-  (parent 11)
-  (unrealized (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b a name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a)))))
-  (label 16)
-  (parent 13)
-  (seen 4)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 a-1 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-1) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-2 b)) m (3 0) (enc m (pubk b))
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-1)) b (pubk a-1)))))
-  (label 17)
-  (parent 14)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (3 0) (enc m (pubk b))
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
-      (send (enc (enc m (pubk a-3)) b (pubk a-3)))))
-  (label 18)
-  (parent 14)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-2 a)) m (2 0) (enc m (pubk a))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 19)
-  (parent 15)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b a))
-  (defstrand resp 2 (m m) (a a-0) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) a)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b a))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a))
-  (uniq-orig m)
-  (operation nonce-test (contracted (b a) (a-2 a-1)) m (2 0)
-    (enc m (pubk a)) (enc (enc m (pubk a)) a (pubk a)))
-  (traces
-    ((send (enc (enc m (pubk a)) a (pubk a)))
-      (recv (enc (enc m (pubk a)) a (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-0 (pubk a)))
-      (send (enc (enc m (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) a (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) a (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk a)) a (pubk a)))
-      (send (enc (enc m (pubk a)) a (pubk a)))))
-  (label 20)
-  (parent 15)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0) (enc m (pubk a))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 21)
-  (parent 15)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b a))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0) (enc m (pubk a))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-3 (pubk a)))
-      (send (enc (enc m (pubk a-3)) a (pubk a-3)))))
-  (label 22)
-  (parent 15)
-  (seen 20)
-  (unrealized (5 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0)))))
-  (label 23)
-  (parent 17)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 a)) m (5 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 24)
-  (parent 18)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a-2) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (5 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a-2 (pubk b)))
-      (send (enc (enc m (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
-  (label 25)
-  (parent 18)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (5 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
-      (send (enc (enc m (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 26)
-  (parent 18)
-  (unrealized (4 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 27)
-  (parent 19)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a a-0 name))
-  (defstrand init 2 (m m) (a a) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) a)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a) (b a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk a)) a (pubk a)))
-      (recv (enc (enc m (pubk a)) a (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) a (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) a (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk a)) a (pubk a)))
-      (send (enc (enc m (pubk a)) a (pubk a)))))
-  (label 28)
-  (parent 20)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1)))))
-  (label 29)
-  (parent 21)
-  (seen 6)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-2) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (5 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
-      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
-  (label 30)
-  (parent 22)
-  (unrealized (4 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (5 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-3 (pubk a)))
-      (send (enc (enc m (pubk a-3)) a (pubk a-3))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 31)
-  (parent 22)
-  (unrealized (5 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0)))))
-  (label 32)
-  (parent 23)
-  (seen 4)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 33)
-  (parent 24)
-  (seen 6)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 34)
-  (parent 25)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 a)) m (4 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 35)
-  (parent 26)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (4 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a-2 (pubk b)))
-      (send (enc (enc m (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
-  (label 36)
-  (parent 26)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-4) (b a))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (4 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
-      (send (enc (enc m (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-4 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-4)) a (pubk a-4)))))
-  (label 37)
-  (parent 26)
-  (unrealized (4 0) (6 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 38)
-  (parent 27)
-  (seen 3)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a name))
-  (defstrand init 2 (m m) (a a) (b a))
-  (defstrand resp 2 (m m) (a a) (b a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk a)) a (pubk a)))
-      (recv (enc (enc m (pubk a)) a (pubk a))))
-    ((recv (enc (enc m (pubk a)) a (pubk a)))
-      (send (enc (enc m (pubk a)) a (pubk a)))))
-  (label 39)
-  (parent 28)
-  (seen 1)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 b)) m (4 0) (enc m (pubk b))
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-2)) b (pubk a-2)))))
-  (label 40)
-  (parent 30)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-2) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (defstrand resp 2 (m m) (a a-4) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (4 0) (enc m (pubk b))
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
-      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc m (pubk b)) a-4 (pubk b)))
-      (send (enc (enc m (pubk a-4)) b (pubk a-4)))))
-  (label 41)
-  (parent 30)
-  (seen 43)
-  (unrealized (6 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 b)) m (5 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) b (pubk a)))
-      (send (enc (enc m (pubk b)) a (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 42)
-  (parent 31)
-  (unrealized (2 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (5 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
-      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
-  (label 43)
-  (parent 31)
-  (seen 58)
-  (unrealized (4 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(comment "Strand bound exceeded--aborting run")
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-4) (b a))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0))
-    ((5 1) (2 0)) ((6 1) (5 0)) ((7 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (5 0)
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-3 (pubk a)))
-      (send (enc (enc m (pubk a-3)) a (pubk a-3))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-4 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-4)) a (pubk a-4)))))
-  (label 44)
-  (parent 31)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 45)
-  (parent 34)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 46)
-  (parent 35)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 47)
-  (parent 36)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-2) (b b))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 b) (a-4 a-2)) m (6 0)
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-2)) b (pubk a-2)))))
-  (label 48)
-  (parent 37)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-3) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-4) (b b))
-  (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (6 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a-2 (pubk b)))
-      (send (enc (enc m (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-3 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-3)) a (pubk a-3))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-4 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-4)) b (pubk a-4)))))
-  (label 49)
-  (parent 37)
-  (unrealized (5 0))
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (defstrand resp 2 (m m) (a a-3) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-4) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (6 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
-      (send (enc (enc m (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-4 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-4)) a (pubk a-4))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 50)
-  (parent 37)
-  (unrealized (4 0))
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 a-1 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-1) (b b))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation generalization deleted (1 0))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-1 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-1)) b (pubk a-1)))))
-  (label 51)
-  (parent 40)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a-3) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-4) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (6 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
-      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
-      (send (enc (enc m (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-4 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-4)) b (pubk a-4)))))
-  (label 52)
-  (parent 41)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-2) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (defstrand resp 2 (m m) (a a-4) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
-    ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (6 0)
-    (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
-      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc m (pubk b)) a-4 (pubk b)))
-      (send (enc (enc m (pubk a-4)) b (pubk a-4))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 53)
-  (parent 41)
-  (unrealized (6 0))
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-2 a)) m (2 0) (enc m (pubk a))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) b (pubk a)))
-      (send (enc (enc m (pubk b)) a (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a)))))
-  (label 54)
-  (parent 42)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a a-0 a-1 name))
-  (defstrand init 2 (m m) (a a) (b a))
-  (defstrand resp 2 (m m) (a a-0) (b a))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) a)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b a))
-  (defstrand resp 2 (m m) (a a) (b a))
-  (defstrand resp 2 (m m) (a a) (b a))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
-  (non-orig (privk a))
-  (uniq-orig m)
-  (operation nonce-test (contracted (b a) (a-2 a-1)) m (2 0)
-    (enc m (pubk a)) (enc (enc m (pubk a)) a (pubk a)))
-  (traces
-    ((send (enc (enc m (pubk a)) a (pubk a)))
-      (recv (enc (enc m (pubk a)) a (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-0 (pubk a)))
-      (send (enc (enc m (pubk a-0)) a (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) a (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) a (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk a)) a (pubk a)))
-      (send (enc (enc m (pubk a)) a (pubk a))))
-    ((recv (enc (enc m (pubk a)) a (pubk a)))
-      (send (enc (enc m (pubk a)) a (pubk a))))
-    ((recv (enc (enc m (pubk a)) a (pubk a)))
-      (send (enc (enc m (pubk a)) a (pubk a)))))
-  (label 55)
-  (parent 42)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
-    ((6 1) (1 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (2 0) (enc m (pubk a))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) b (pubk a)))
-      (send (enc (enc m (pubk b)) a (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 56)
-  (parent 42)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a b) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 b)) m (4 0) (enc m (pubk b))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) b (pubk a)))
-      (send (enc (enc m (pubk b)) a (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
-  (label 57)
-  (parent 43)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (b a a-0 a-1 a-2 name))
-  (defstrand init 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m m) (a a-1) (b b))
-  (defstrand resp 2 (m m) (a b) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-2) (b b))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk b))
-  (uniq-orig m)
-  (operation nonce-test (contracted (a-3 b)) m (4 0) (enc m (pubk b))
-    (enc (enc m (pubk b)) b (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) b (pubk b)))
-      (recv (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
-      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) b (pubk b)))
-      (send (enc (enc m (pubk b)) b (pubk b))))
-    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-2 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) b (pubk a-2)) b (pubk a-2)))))
-  (label 58)
-  (parent 43)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton dy
-  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
-  (defstrand init 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-0) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m m) (a a-2) (b a))
-  (defstrand resp 2 (m m) (a a) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
-  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-4) (b a))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (4 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig m)
-  (operation nonce-test (added-strand resp 2) m (4 0) (enc m (pubk b))
-    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
-  (traces
-    ((send (enc (enc m (pubk b)) a (pubk b)))
-      (recv (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
-      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
-      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
-    ((recv (enc (enc m (pubk b)) a (pubk b)))
-      (send (enc (enc m (pubk a)) b (pubk a))))
-    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
-      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3))))
-    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-4 (pubk a)))
-      (send (enc (enc (enc m (pubk a)) b (pubk a-4)) a (pubk a-4)))))
-  (label 59)
-  (parent 43)
-  (unrealized (7 0))
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol dy basic
+  (defrole init
+    (vars (a b name) (m text))
+    (trace (send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a)))))
+  (defrole resp
+    (vars (a b name) (m mesg))
+    (trace (recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))))
+
+(defskeleton dy
+  (vars (m text) (a b name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a)))))
+  (label 0)
+  (unrealized (0 1))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (b name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a b)) m (0 1)
+    (enc (enc m (pubk b)) b (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b)))))
+  (label 1)
+  (parent 0)
+  (unrealized)
+  (shape))
+
+(defskeleton dy
+  (vars (m text) (a b name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (0 1)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 2)
+  (parent 0)
+  (unrealized)
+  (shape))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (0 1)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0)))))
+  (label 3)
+  (parent 0)
+  (unrealized (0 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (b a name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-0 b)) m (0 1) (enc m (pubk b))
+    (enc (enc m (pubk b)) b (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a)))))
+  (label 4)
+  (parent 3)
+  (seen 1)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (0 1) (enc m (pubk b))
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1)))))
+  (label 5)
+  (parent 3)
+  (unrealized (2 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-1 a)) m (2 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 6)
+  (parent 5)
+  (seen 2)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 7)
+  (parent 5)
+  (unrealized (2 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1)))))
+  (label 8)
+  (parent 5)
+  (unrealized)
+  (shape))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-1 a)) m (2 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 9)
+  (parent 7)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2)))))
+  (label 10)
+  (parent 7)
+  (unrealized (2 0) (4 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1)))))
+  (label 11)
+  (parent 7)
+  (seen 6)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 12)
+  (parent 9)
+  (seen 2)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (b a a-0 name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-1 b) (a-2 a-0)) m (4 0)
+    (enc (enc m (pubk b)) b (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) b (pubk b)))
+      (send (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0)))))
+  (label 13)
+  (parent 10)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (4 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 14)
+  (parent 10)
+  (unrealized (2 0))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (4 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
+  (label 15)
+  (parent 10)
+  (unrealized (3 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (b a name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc m (pubk b)) b (pubk b)))
+      (send (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a)))))
+  (label 16)
+  (parent 13)
+  (seen 4)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-2 a)) m (2 0) (enc m (pubk a))
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 17)
+  (parent 14)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b a))
+  (defstrand resp 2 (m m) (a a-0) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) a)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b a))
+  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation nonce-test (contracted (b a) (a-2 a-1)) m (2 0)
+    (enc m (pubk a)) (enc (enc m (pubk a)) a (pubk a)))
+  (traces
+    ((send (enc (enc m (pubk a)) a (pubk a)))
+      (recv (enc (enc m (pubk a)) a (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-0 (pubk a)))
+      (send (enc (enc m (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) a (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) a (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk a)) a (pubk a)))
+      (send (enc (enc m (pubk a)) a (pubk a)))))
+  (label 18)
+  (parent 14)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-3) (b a))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0) (enc m (pubk a))
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-3 (pubk a)))
+      (send (enc (enc m (pubk a-3)) a (pubk a-3)))))
+  (label 19)
+  (parent 14)
+  (seen 18)
+  (unrealized (5 0))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0) (enc m (pubk a))
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
+  (label 20)
+  (parent 14)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (b a a-0 a-1 name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-1) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)) ((4 1) (3 0)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-2 b)) m (3 0) (enc m (pubk b))
+    (enc (enc m (pubk b)) b (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) b (pubk b)))
+      (send (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-1 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-1)) b (pubk a-1)))))
+  (label 21)
+  (parent 15)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (defstrand resp 2 (m m) (a a-3) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (3 0) (enc m (pubk b))
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
+      (send (enc (enc m (pubk a-3)) b (pubk a-3)))))
+  (label 22)
+  (parent 15)
+  (unrealized (5 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 23)
+  (parent 17)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a a-0 name))
+  (defstrand init 2 (m m) (a a) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) a)) (a a-0) (b a))
+  (defstrand resp 2 (m m) (a a) (b a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk a)) a (pubk a)))
+      (recv (enc (enc m (pubk a)) a (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) a (pubk a)) a-0 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) a (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc m (pubk a)) a (pubk a)))
+      (send (enc (enc m (pubk a)) a (pubk a)))))
+  (label 24)
+  (parent 18)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-3) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
+    ((6 1) (5 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (5 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-3 (pubk a)))
+      (send (enc (enc m (pubk a-3)) a (pubk a-3))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 25)
+  (parent 19)
+  (unrealized (5 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-2) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (5 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
+      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
+  (label 26)
+  (parent 19)
+  (unrealized (4 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1)))))
+  (label 27)
+  (parent 20)
+  (seen 6)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (b a a-0 name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc m (pubk b)) b (pubk b)))
+      (send (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0)))))
+  (label 28)
+  (parent 21)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-3 a)) m (5 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 29)
+  (parent 22)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (defstrand resp 2 (m m) (a a-3) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (5 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
+      (send (enc (enc m (pubk a-3)) b (pubk a-3))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 30)
+  (parent 22)
+  (unrealized (4 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a-2) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (5 0)
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a-2 (pubk b)))
+      (send (enc (enc m (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
+  (label 31)
+  (parent 22)
+  (unrealized)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 32)
+  (parent 23)
+  (seen 2)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a name))
+  (defstrand init 2 (m m) (a a) (b a))
+  (defstrand resp 2 (m m) (a a) (b a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk a)) a (pubk a)))
+      (recv (enc (enc m (pubk a)) a (pubk a))))
+    ((recv (enc (enc m (pubk a)) a (pubk a)))
+      (send (enc (enc m (pubk a)) a (pubk a)))))
+  (label 33)
+  (parent 24)
+  (seen 1)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a b) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
+    ((6 1) (5 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-3 b)) m (5 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) b (pubk a)))
+      (send (enc (enc m (pubk b)) a (pubk b))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 34)
+  (parent 25)
+  (unrealized (2 0))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(comment "Strand bound exceeded--aborting run")
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-2) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-3) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-4) (b a))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((0 0) (7 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0))
+    ((5 1) (2 0)) ((6 1) (5 0)) ((7 1) (5 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (5 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-2 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-3 (pubk a)))
+      (send (enc (enc m (pubk a-3)) a (pubk a-3))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-4 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-4)) a (pubk a-4)))))
+  (label 35)
+  (parent 25)
+  (unrealized (7 0))
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-2) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
+    ((6 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (5 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
+      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
+  (label 36)
+  (parent 25)
+  (unrealized (4 0))
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (b a a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-2) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-3 b)) m (4 0) (enc m (pubk b))
+    (enc (enc m (pubk b)) b (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) b (pubk b)))
+      (send (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-2)) b (pubk a-2)))))
+  (label 37)
+  (parent 26)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-2) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
+  (defstrand resp 2 (m m) (a a-4) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
+    ((6 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (4 0) (enc m (pubk b))
+    (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-2 (pubk a)))
+      (send (enc (enc m (pubk a-2)) a (pubk a-2))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3))))
+    ((recv (enc (enc m (pubk b)) a-4 (pubk b)))
+      (send (enc (enc m (pubk a-4)) b (pubk a-4)))))
+  (label 38)
+  (parent 26)
+  (unrealized (6 0))
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (b a a-0 name))
+  (defstrand init 2 (m m) (a b) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) b)) (a a-0) (b b))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) b (pubk b)))
+      (recv (enc (enc m (pubk b)) b (pubk b))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) b (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) b (pubk a-0)) b (pubk a-0)))))
+  (label 39)
+  (parent 28)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-1) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-1 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 40)
+  (parent 29)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-3 a)) m (4 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 41)
+  (parent 30)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 a-4 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (defstrand resp 2 (m m) (a a-3) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-4) (b a))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
+    ((6 1) (4 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (4 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a-3 (pubk b)))
+      (send (enc (enc m (pubk a-3)) b (pubk a-3))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-4 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-4)) a (pubk a-4)))))
+  (label 42)
+  (parent 30)
+  (unrealized (4 0) (6 0))
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 a-3 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a-2) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-3) (b b))
+  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (4 0)
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a-2 (pubk b)))
+      (send (enc (enc m (pubk a-2)) b (pubk a-2))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-3 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-3)) b (pubk a-3)))))
+  (label 43)
+  (parent 30)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-0) (b a))
+  (defstrand resp 2 (m m) (a a-1) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation generalization deleted (1 0))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-0 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a-1 (pubk b)))
+      (send (enc (enc m (pubk a-1)) b (pubk a-1))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
+  (label 44)
+  (parent 31)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-0) (b b))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a b) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
+    ((6 1) (5 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (contracted (a-2 a)) m (2 0) (enc m (pubk a))
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-0 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) b (pubk a)))
+      (send (enc (enc m (pubk b)) a (pubk b))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a)))))
+  (label 45)
+  (parent 34)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a a-0 a-1 name))
+  (defstrand init 2 (m m) (a a) (b a))
+  (defstrand resp 2 (m m) (a a-0) (b a))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) a)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b a))
+  (defstrand resp 2 (m m) (a a) (b a))
+  (defstrand resp 2 (m m) (a a) (b a))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation nonce-test (contracted (b a) (a-2 a-1)) m (2 0)
+    (enc m (pubk a)) (enc (enc m (pubk a)) a (pubk a)))
+  (traces
+    ((send (enc (enc m (pubk a)) a (pubk a)))
+      (recv (enc (enc m (pubk a)) a (pubk a))))
+    ((recv (enc (enc m (pubk a)) a-0 (pubk a)))
+      (send (enc (enc m (pubk a-0)) a (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) a (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) a (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk a)) a (pubk a)))
+      (send (enc (enc m (pubk a)) a (pubk a))))
+    ((recv (enc (enc m (pubk a)) a (pubk a)))
+      (send (enc (enc m (pubk a)) a (pubk a))))
+    ((recv (enc (enc m (pubk a)) a (pubk a)))
+      (send (enc (enc m (pubk a)) a (pubk a)))))
+  (label 46)
+  (parent 34)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton dy
+  (vars (m text) (a b a-0 a-1 a-2 name))
+  (defstrand init 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a a-0) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk a)) b)) (a a-1) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m m) (a b) (b a))
+  (defstrand resp 2 (m m) (a a) (b b))
+  (defstrand resp 2 (m (cat (enc m (pubk b)) a)) (a a-2) (b b))
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0))
+    ((6 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig m)
+  (operation nonce-test (added-strand resp 2) m (2 0) (enc m (pubk a))
+    (enc (enc m (pubk a)) b (pubk a)) (enc (enc m (pubk b)) a (pubk b)))
+  (traces
+    ((send (enc (enc m (pubk b)) a (pubk b)))
+      (recv (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk b)) a-0 (pubk b)))
+      (send (enc (enc m (pubk a-0)) b (pubk a-0))))
+    ((recv (enc (enc (enc m (pubk a)) b (pubk a)) a-1 (pubk a)))
+      (send (enc (enc (enc m (pubk a)) b (pubk a-1)) a (pubk a-1))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc m (pubk a)) b (pubk a)))
+      (send (enc (enc m (pubk b)) a (pubk b))))
+    ((recv (enc (enc m (pubk b)) a (pubk b)))
+      (send (enc (enc m (pubk a)) b (pubk a))))
+    ((recv (enc (enc (enc m (pubk b)) a (pubk b)) a-2 (pubk b)))
+      (send (enc (enc (enc m (pubk b)) a (pubk a-2)) b (pubk a-2)))))
+  (label 47)
+  (parent 34)
+  (unrealized)
   (comment "aborted"))
diff --git a/tst/encsig.tst b/tst/encsig.tst
--- a/tst/encsig.tst
+++ b/tst/encsig.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol mult-keys-enc-sig basic
diff --git a/tst/epmo.tst b/tst/epmo.tst
--- a/tst/epmo.tst
+++ b/tst/epmo.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol epmo basic
@@ -332,9 +332,8 @@
       (send (enc (enc b nb nm hash) (privk m)))))
   (label 7)
   (parent 6)
-  (seen 8)
   (unrealized (0 0) (1 2))
-  (comment "4 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
   (vars (price goods goods-0 text) (nc nm nb data) (b c m b-0 m-0 name)
@@ -578,9 +577,8 @@
       (send (enc c nc nm price (pubk b-0)))))
   (label 13)
   (parent 12)
-  (seen 14)
   (unrealized (0 2))
-  (comment "4 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
   (vars (price goods text) (nb nc nm data) (b c b-0 m name) (hash akey))
diff --git a/tst/epmo_acctnum.tst b/tst/epmo_acctnum.tst
--- a/tst/epmo_acctnum.tst
+++ b/tst/epmo_acctnum.tst
@@ -1,8311 +1,1619 @@
-(comment "CPSA 2.0.4")
-(comment "All input read")
-
-(defprotocol epmo_acctnum basic
-  (defrole bank
-    (vars (b c m name) (acctnum text) (hash name) (nc nm nb price text))
-    (trace (recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    (non-orig (privk hash))
-    (annotations b
-      (1
-        (forall ((pm name))
-          (implies
-            (and (authtransfer c acctnum b price pm nm)
-              (reqtransfer pm b price pm nm))
-            (dotransfer acctnum b price pm nm))))
-      (2
-        (and (says c (authtransfer c acctnum b price m nm))
-          (says m (reqtransfer m b price m nm))))))
-  (defrole customer
-    (vars (b c m hash name) (acctnum nb nc nm goods price text))
-    (trace (send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    (non-orig (privk b) (privk hash))
-    (uniq-orig nc)
-    (annotations c
-      (1
-        (says m
-          (implies
-            (exists ((acctnum2 text))
-              (dotransfer acctnum2 b price m nm)) (doship m goods c))))
-      (3
-        (says b
-          (forall ((pm name))
-            (implies
-              (and (authtransfer c acctnum b price m nm)
-                (reqtransfer pm b price pm nm))
-              (dotransfer acctnum b price pm nm)))))
-      (4 (authtransfer c acctnum b price m nm))))
-  (defrole merchant
-    (vars (b c m hash name) (nb nc nm goods price text))
-    (trace (recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    (non-orig (privk hash))
-    (uniq-orig nm)
-    (annotations m
-      (1
-        (implies
-          (exists ((acctnum2 text)) (dotransfer acctnum2 b price m nm))
-          (doship m goods c)))
-      (2
-        (and
-          (says b
-            (forall ((pm name))
-              (exists ((acctnum2 text))
-                (implies
-                  (and (authtransfer c acctnum2 b price m nm)
-                    (reqtransfer pm b price pm nm))
-                  (dotransfer acctnum2 b price pm nm)))))
-          (says c
-            (exists ((acctnum2 text))
-              (authtransfer c acctnum2 b price m nm)))))
-      (3 (and (reqtransfer m b price m nm) (doship m goods c))))))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price text) (b m c hash name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nc nb)
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
-  (label 0)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum text) (b m c hash name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nc nb)
-  (operation encryption-test (added-strand bank 2)
-    (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b)) (0 2))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum acctnum-0 goods-0 text)
-    (b m c hash b-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (1 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b-0)))))
-  (label 2)
-  (parent 1)
-  (seen 5 7)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "7 in cohort - 4 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum acctnum-0 goods-0 text)
-    (b m c hash b-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (added-strand customer 3) nm (1 0)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b-0)))))
-  (label 3)
-  (parent 1)
-  (seen 7)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text) (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum-0 acctnum)) price
-    (1 0) (enc nc price m price (pubk c))
-    (enc c nc price acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))))
-  (label 4)
-  (parent 2)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (1 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 5)
-  (parent 2)
-  (seen 12)
-  (unrealized (0 0) (0 2) (1 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (1 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 6)
-  (parent 2)
-  (seen 13)
-  (unrealized (0 0) (0 2) (1 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum acctnum-0 goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (1 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum-0 price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b-0))))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 7)
-  (parent 2)
-  (seen 14)
-  (unrealized (0 0) (0 2) (1 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum goods-0 text) (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (contracted (b-0 b) (acctnum-0 acctnum)) nm
-    (1 0) (enc nc nm m price (pubk c))
-    (enc c nc nm acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))))
-  (label 8)
-  (parent 3)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum acctnum-0 goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (1 0)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (added-strand bank 2) nm (1 0)
-    (enc nc nm m price (pubk c))
-    (enc c nc nm acctnum-0 price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b-0))))
-    ((recv (enc c nc nm acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 9)
-  (parent 3)
-  (seen 14)
-  (unrealized (0 0) (0 2) (1 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price acctnum goods text) (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))))
-  (label 10)
-  (parent 4)
-  (seen 18)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (3 0)) ((2 2) (1 0))
-    ((3 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 11)
-  (parent 4)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (3 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 12)
-  (parent 5)
-  (seen 21)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "9 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (3 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 13)
-  (parent 6)
-  (seen 12 23)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "7 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum acctnum-0 goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (3 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b-0))))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 14)
-  (parent 7)
-  (seen 12 23)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "7 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price acctnum goods text) (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))))
-  (label 15)
-  (parent 8)
-  (seen 25)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum goods-0 nm-0 price-0 text)
-    (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods-0)
-    (price price-0) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (3 0)) ((2 2) (1 0))
-    ((3 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nm nc nb nm-0)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 16)
-  (parent 8)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum acctnum-0 goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (added-strand customer 3) nm (3 0)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b-0))))
-    ((recv (enc c nc nm acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 17)
-  (parent 9)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price acctnum goods text) (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 1)) ((1 1) (2 3)) ((2 0) (0 0)) ((2 2) (1 0))
-    ((2 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb price price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 18)
-  (parent 10)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price acctnum goods nm price-0 text) (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (3 0)) ((2 2) (1 0))
-    ((3 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 19)
-  (parent 11)
-  (seen 29)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) price (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 20)
-  (parent 12)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (precedes ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 4) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 5) price (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price))))
-  (label 21)
-  (parent 12)
-  (unrealized (0 0) (0 2) (1 0) (3 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) price (1 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 22)
-  (parent 13)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (3 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (1 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 23)
-  (parent 13)
-  (seen 12)
-  (unrealized (0 0) (0 2) (1 0) (4 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum-0 acctnum)) price
-    (1 0) (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 24)
-  (parent 14)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price acctnum goods text) (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 1)) ((1 1) (2 3)) ((2 0) (0 0)) ((2 2) (1 0))
-    ((2 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 25)
-  (parent 15)
-  (unrealized)
-  (shape))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price acctnum goods nm-0 price-0 text)
-    (m c hash b name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (3 0)) ((2 2) (1 0))
-    ((3 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b))
-  (uniq-orig nm nc nb nm-0)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm-0 m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 26)
-  (parent 16)
-  (seen 37)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum goods-0 nb-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (contracted (b-0 b) (acctnum-0 acctnum)) nm
-    (1 0) (enc "hash" c nc nb-0 nm price (pubk hash-0))
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 27)
-  (parent 17)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price acctnum goods price-0 text) (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price-0) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price-0) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price-0)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 1)) ((1 1) (2 3)) ((2 0) (0 0)) ((2 2) (1 0))
-    ((2 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nc nb price price-0)
-  (operation generalization separated price-0)
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price-0 m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price-0 (pubk hash)) (privk m))))
-    ((recv (enc c nc price-0 acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price-0 m price (pubk c)))
-      (send (enc c nc price-0 acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          nb))))
-  (label 28)
-  (parent 18)
-  (seen 25)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price nm price-0 acctnum goods text) (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (0 0)) ((3 0) (2 0))
-    ((3 2) (1 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb price price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 29)
-  (parent 19)
-  (seen 18)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 30)
-  (parent 20)
-  (seen 40)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 31)
-  (parent 20)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (3 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (2 0)) ((3 4) (1 0)) ((4 1) (3 3)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation encryption-test (added-strand bank 2)
-    (enc (enc "hash" c nc price price price (pubk hash-0)) (privk b-0))
-    (3 3))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 32)
-  (parent 21)
-  (seen 42)
-  (unrealized (0 0) (0 2) (1 0) (4 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nb-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 33)
-  (parent 22)
-  (seen 43)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 34)
-  (parent 22)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price acctnum goods nb-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 35)
-  (parent 24)
-  (seen 45)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 36)
-  (parent 24)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price nm-0 price-0 acctnum goods text)
-    (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (0 0)) ((3 0) (2 0))
-    ((3 2) (1 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nm nc nb nm-0)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 37)
-  (parent 26)
-  (seen 25)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price acctnum goods nb-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((3 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 38)
-  (parent 27)
-  (seen 47)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb goods price acctnum goods-0 nb-0 nm-0 price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods-0)
-    (price price-0) (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nm nc nb nm-0)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 39)
-  (parent 27)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb acctnum goods text) (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm acctnum) (goods goods)
-    (price acctnum) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb)
-    (price acctnum) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb acctnum)
-    (price acctnum) (b b) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm acctnum)
-    (goods goods) (price acctnum) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nc nb acctnum)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb acctnum acctnum (pubk hash))
-    (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc acctnum m acctnum (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb acctnum (pubk hash)) (privk m))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c)))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc acctnum acctnum acctnum (pubk hash-0))
-            (privk b)) (enc nc acctnum (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc acctnum m acctnum (pubk c)))
-      (send (enc c nc acctnum acctnum acctnum (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))))
-  (label 40)
-  (parent 30)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nm price-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 41)
-  (parent 31)
-  (seen 50)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 2) (4 0)) ((3 4) (1 0)) ((4 1) (3 3)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (4 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 42)
-  (parent 32)
-  (seen 52 53)
-  (unrealized (0 0) (0 2) (1 0) (4 0))
-  (comment "7 in cohort - 3 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb nb-0 acctnum goods text) (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm acctnum) (goods goods)
-    (price acctnum) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb)
-    (price acctnum) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb-0)
-    (price acctnum) (b b) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm acctnum)
-    (goods goods) (price acctnum) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nc nb acctnum)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb acctnum acctnum (pubk hash))
-    (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc acctnum m acctnum (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb acctnum (pubk hash)) (privk m))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c)))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 acctnum acctnum (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc acctnum m acctnum (pubk c)))
-      (send (enc c nc acctnum acctnum acctnum (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))))
-  (label 43)
-  (parent 33)
-  (seen 49)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nb-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum price) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 44)
-  (parent 34)
-  (seen 54)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price nb-0 acctnum goods text) (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb price price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 45)
-  (parent 35)
-  (seen 18)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price acctnum goods nb-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 46)
-  (parent 36)
-  (seen 55)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price nb-0 acctnum goods text)
-    (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nm nc nb)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 47)
-  (parent 38)
-  (seen 25)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price acctnum goods nb-0 nm-0 price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nm nc nb nm-0)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm-0 m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 48)
-  (parent 39)
-  (seen 56)
-  (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb acctnum goods text) (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm acctnum) (goods goods)
-    (price acctnum) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb)
-    (price acctnum) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm acctnum)
-    (goods goods) (price acctnum) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 1)) ((1 1) (2 3)) ((2 0) (0 0)) ((2 2) (1 0))
-    ((2 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nc nb acctnum)
-  (operation generalization deleted (2 0))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc acctnum m acctnum (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb acctnum (pubk hash)) (privk m))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc acctnum m acctnum (pubk c)))
-      (send (enc c nc acctnum acctnum acctnum (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))))
-  (label 49)
-  (parent 40)
-  (seen 18)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb nm price acctnum goods text) (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm acctnum) (goods goods)
-    (price acctnum) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb)
-    (price acctnum) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb acctnum)
-    (price acctnum) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm acctnum)
-    (goods goods) (price acctnum) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (4 1)) ((1 1) (4 3)) ((2 1) (1 0)) ((3 1) (0 0))
-    ((4 0) (3 0)) ((4 2) (2 0)) ((4 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nc nb nm acctnum)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb acctnum acctnum (pubk hash))
-    (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc acctnum m acctnum (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb acctnum (pubk hash)) (privk m))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c)))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc acctnum acctnum acctnum (pubk hash-0))
-            (privk b)) (enc nc acctnum (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc acctnum m acctnum (pubk c)))
-      (send (enc c nc acctnum acctnum acctnum (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))))
-  (label 50)
-  (parent 41)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((2 4) (1 0)) ((3 1) (2 3)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (acctnum-0 price)) price (4 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 51)
-  (parent 42)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (3 1)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (2 0)) ((3 2) (4 0)) ((3 4) (1 0))
-    ((4 1) (3 3)) ((5 1) (4 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (4 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 52)
-  (parent 42)
-  (seen 61)
-  (unrealized (0 0) (0 2) (1 0) (4 0) (5 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (3 1)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (2 0)) ((3 2) (4 0)) ((3 4) (1 0))
-    ((4 1) (3 3)) ((5 1) (4 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (4 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 53)
-  (parent 42)
-  (seen 62)
-  (unrealized (0 0) (0 2) (1 0) (4 0) (5 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb nb-0 nm price acctnum goods text)
-    (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm acctnum) (goods goods)
-    (price acctnum) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb)
-    (price acctnum) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb-0)
-    (price acctnum) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm acctnum)
-    (goods goods) (price acctnum) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (4 1)) ((1 1) (4 3)) ((2 1) (1 0)) ((3 1) (0 0))
-    ((4 0) (3 0)) ((4 2) (2 0)) ((4 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nc nb nm acctnum)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb acctnum acctnum (pubk hash))
-    (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc acctnum m acctnum (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb acctnum (pubk hash)) (privk m))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c)))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 acctnum acctnum (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc acctnum m acctnum (pubk c)))
-      (send (enc c nc acctnum acctnum acctnum (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))))
-  (label 54)
-  (parent 44)
-  (seen 57)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price nb-0 nm price-0 acctnum goods text)
-    (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (4 1)) ((1 1) (4 3)) ((2 1) (1 0)) ((3 1) (0 0))
-    ((4 0) (3 0)) ((4 2) (2 0)) ((4 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb price price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 55)
-  (parent 46)
-  (seen 29)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nc nb price nb-0 nm-0 price-0 acctnum goods text)
-    (c hash hash-0 b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (4 1)) ((1 1) (4 3)) ((2 1) (1 0)) ((3 1) (0 0))
-    ((4 0) (3 0)) ((4 2) (2 0)) ((4 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
-  (uniq-orig nm nc nb nm-0)
-  (operation nonce-test (added-strand customer 5) nb (0 2)
-    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 56)
-  (parent 48)
-  (seen 37)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb nm price acctnum goods text) (c hash b m name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm acctnum) (goods goods)
-    (price acctnum) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm acctnum) (nb nb)
-    (price acctnum) (b b) (c c) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price)
-    (c c) (m m))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm acctnum)
-    (goods goods) (price acctnum) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (0 0)) ((3 0) (2 0))
-    ((3 2) (1 0)) ((3 4) (0 2)))
-  (non-orig (privk c) (privk hash) (privk b) (privk m))
-  (uniq-orig nc nb nm acctnum)
-  (operation generalization deleted (2 0))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc acctnum m acctnum (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb acctnum (pubk hash)) (privk m))))
-    ((recv (enc c nc acctnum acctnum acctnum (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc acctnum m acctnum (pubk c)))
-      (send (enc c nc acctnum acctnum acctnum (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb acctnum acctnum (pubk hash))
-            (privk b)) nb))))
-  (label 57)
-  (parent 50)
-  (seen 49)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((2 4) (1 0)) ((3 1) (2 3)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 58)
-  (parent 51)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (3 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 59)
-  (parent 51)
-  (seen 65)
-  (unrealized (0 0) (0 2) (1 0) (4 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (b m c hash b-0 hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (4 0))
-    ((2 2) (3 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 60)
-  (parent 51)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 2) (5 0)) ((3 4) (1 0)) ((4 1) (3 3))
-    ((5 1) (4 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (5 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 61)
-  (parent 52)
-  (unrealized (0 0) (0 2) (1 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))
-    ((3 2) (2 0)) ((3 2) (5 0)) ((3 4) (1 0)) ((4 1) (3 3))
-    ((5 1) (4 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (5 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 62)
-  (parent 53)
-  (seen 61 70)
-  (unrealized (0 0) (0 2) (1 0) (4 0))
-  (comment "7 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((2 4) (1 0)) ((3 1) (2 3)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 63)
-  (parent 58)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 64)
-  (parent 58)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (4 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 65)
-  (parent 59)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (4 0))
-    ((2 2) (3 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 66)
-  (parent 60)
-  (seen 63 64)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 0) (4 0)) ((2 2) (3 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (1 0)) ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand bank 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 67)
-  (parent 60)
-  (seen 73)
-  (unrealized (0 0) (0 2) (1 0) (5 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (acctnum-0 price)) price (4 0)
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 68)
-  (parent 61)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (acctnum-0 price)) price (4 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c))))))
-  (label 69)
-  (parent 62)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 acctnum-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (3 1)) ((0 1) (6 0)) ((1 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (2 0)) ((3 2) (5 0)) ((3 4) (1 0))
-    ((4 1) (3 3)) ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) price (4 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price acctnum-0 price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-2))
-            (privk b-0)) (enc nc price (pubk c))))))
-  (label 70)
-  (parent 62)
-  (seen 61)
-  (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nm price-0 text) (m c hash b hash-0 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 71)
-  (parent 64)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc goods-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b)) (enc nc goods-0 (pubk c))))))
-  (label 72)
-  (parent 65)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (5 0))
-    ((2 2) (3 0)) ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (1 0)) ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc goods-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 73)
-  (parent 65)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 74)
-  (parent 68)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 75)
-  (parent 68)
-  (seen 85)
-  (unrealized (0 0) (0 2) (1 0) (5 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (5 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 76)
-  (parent 68)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc nb-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 77)
-  (parent 69)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand bank 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc nb-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 78)
-  (parent 69)
-  (seen 90)
-  (unrealized (0 0) (0 2) (1 0) (5 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (5 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc nb-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 79)
-  (parent 69)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods text) (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods price price (pubk hash-1))
-            (privk b)) (enc nc goods (pubk c))))))
-  (label 80)
-  (parent 72)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (5 0)) ((2 2) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0))
-    ((5 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 81)
-  (parent 72)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (5 0))
-    ((2 2) (3 0)) ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (1 0)) ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc goods-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc nc nm m price-0 (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-1))
-            (privk b)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 82)
-  (parent 73)
-  (seen 80 81)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods text) (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 83)
-  (parent 74)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (5 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)) ((5 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 84)
-  (parent 74)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (5 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 85)
-  (parent 75)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (5 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 86)
-  (parent 76)
-  (seen 83 84)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((0 1) (6 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 0) (5 0)) ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (3 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand bank 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 87)
-  (parent 76)
-  (seen 96)
-  (unrealized (0 0) (0 2) (1 0) (6 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nb-0 text) (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 88)
-  (parent 77)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (5 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)) ((5 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 89)
-  (parent 77)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (added-strand customer 3) price (5 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 90)
-  (parent 78)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (5 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc nb-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc nc nm m price-0 (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 91)
-  (parent 79)
-  (seen 88 89)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((0 1) (6 0)) ((1 1) (0 2)) ((2 0) (0 0))
-    ((2 0) (5 0)) ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (3 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand bank 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc nb-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc nc nm m price-0 (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c))))))
-  (label 92)
-  (parent 79)
-  (seen 99)
-  (unrealized (0 0) (0 2) (1 0) (6 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (5 0)) ((2 2) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (1 0))
-    ((5 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods price price (pubk hash-1))
-            (privk b)) (enc nc goods (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 93)
-  (parent 81)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (5 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)) ((5 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 94)
-  (parent 84)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc "hash" c nc goods-0 price price (pubk hash-2))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b)) (enc nc goods-0 (pubk c))))))
-  (label 95)
-  (parent 85)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (6 0))
-    ((2 2) (4 0)) ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (3 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc "hash" c nc goods-0 price price (pubk hash-2))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 96)
-  (parent 85)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nb-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (5 0)) ((2 2) (4 0))
-    ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0)) ((5 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 97)
-  (parent 89)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc goods-0 price price (pubk hash-2))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc nb-0 (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b)) (enc nc goods-0 (pubk c))))))
-  (label 98)
-  (parent 90)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price acctnum goods-0 nb-0 nm price-0 text)
-    (b m c hash b-0 hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b-0) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b-0) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b-0) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (6 0))
-    ((2 2) (4 0)) ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (3 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
-    (privk hash-0) (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc goods-0 price price (pubk hash-2))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc nb-0 (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b-0)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) price)))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b-0)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b-0)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b-0)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b-0)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 99)
-  (parent 90)
-  (unrealized (0 0) (0 2) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods text) (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods)
-    (price price) (b b) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods price price (pubk hash-2))
-            (privk b)) (enc nc goods (pubk c))))))
-  (label 100)
-  (parent 95)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (6 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)) ((6 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 101)
-  (parent 95)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (6 0))
-    ((2 2) (4 0)) ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (3 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc price price price (pubk hash-1))
-    (enc "hash" c nc goods-0 price price (pubk hash-2))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc price m price (pubk c)) (enc nc nm m price-0 (pubk c))
-    (enc c nc goods-0 (pubk m)) (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 102)
-  (parent 96)
-  (seen 100 101)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nb-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods)
-    (price price) (b b) (c c) (hash hash-2))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods price price (pubk hash-2))
-            (privk b)) (enc nc goods (pubk c))))))
-  (label 103)
-  (parent 98)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (6 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)) ((6 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (added-strand merchant 2) nc (0 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 104)
-  (parent 98)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb goods price goods-0 nb-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods-0)
-    (price price) (b b) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods-0) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 0) (6 0))
-    ((2 2) (4 0)) ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3))
-    ((4 1) (3 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (b-0 b) (acctnum price)) nc (1 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc "hash" c nc goods-0 price price (pubk hash-2))
-    (enc "hash" c nc nb-0 price price (pubk hash-1))
-    (enc nc price (pubk c)) (enc nc goods-0 (pubk c))
-    (enc nc nb-0 (pubk c)) (enc nc price m price (pubk c))
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods-0 (pubk m))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods-0 price price (pubk hash-2))
-            (privk b)) (enc nc goods-0 (pubk c)))))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 105)
-  (parent 99)
-  (seen 103 104)
-  (unrealized (0 0) (0 2))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nm price-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods)
-    (price price) (b b) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (6 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)) ((6 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods price price (pubk hash-2))
-            (privk b)) (enc nc goods (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 106)
-  (parent 101)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(defskeleton epmo_acctnum
-  (vars (nc nb price goods nb-0 nm price-0 text)
-    (m c hash b hash-0 hash-1 hash-2 name))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb price) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-1))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb goods)
-    (price price) (b b) (c c) (hash hash-2))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (6 0)) ((2 2) (4 0))
-    ((2 2) (5 0)) ((2 4) (1 0)) ((3 1) (2 3)) ((4 1) (3 0))
-    ((5 1) (1 0)) ((6 1) (0 0)))
-  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0)
-    (privk hash-1) (privk hash-2))
-  (uniq-orig nc nb price nm)
-  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
-    (enc nc nm m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c)))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) price)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-1))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc goods price price (pubk hash-2))
-            (privk b)) (enc nc goods (pubk c)))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 107)
-  (parent 104)
-  (unrealized (0 2))
-  (comment "empty cohort"))
-
-(comment "Nothing left to do")
-
-(defprotocol epmo_acctnum basic
-  (defrole bank
-    (vars (b c m name) (acctnum text) (hash name) (nc nm nb price text))
-    (trace (recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    (non-orig (privk hash))
-    (annotations b
-      (1
-        (forall ((pm name))
-          (implies
-            (and (authtransfer c acctnum b price pm nm)
-              (reqtransfer pm b price pm nm))
-            (dotransfer acctnum b price pm nm))))
-      (2
-        (and (says c (authtransfer c acctnum b price m nm))
-          (says m (reqtransfer m b price m nm))))))
-  (defrole customer
-    (vars (b c m hash name) (acctnum nb nc nm goods price text))
-    (trace (send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    (non-orig (privk b) (privk hash))
-    (uniq-orig nc)
-    (annotations c
-      (1
-        (says m
-          (implies
-            (exists ((acctnum2 text))
-              (dotransfer acctnum2 b price m nm)) (doship m goods c))))
-      (3
-        (says b
-          (forall ((pm name))
-            (implies
-              (and (authtransfer c acctnum b price m nm)
-                (reqtransfer pm b price pm nm))
-              (dotransfer acctnum b price pm nm)))))
-      (4 (authtransfer c acctnum b price m nm))))
-  (defrole merchant
-    (vars (b c m hash name) (nb nc nm goods price text))
-    (trace (recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    (non-orig (privk hash))
-    (uniq-orig nm)
-    (annotations m
-      (1
-        (implies
-          (exists ((acctnum2 text)) (dotransfer acctnum2 b price m nm))
-          (doship m goods c)))
-      (2
-        (and
-          (says b
-            (forall ((pm name))
-              (exists ((acctnum2 text))
-                (implies
-                  (and (authtransfer c acctnum2 b price m nm)
-                    (reqtransfer pm b price pm nm))
-                  (dotransfer acctnum2 b price pm nm)))))
-          (says c
-            (exists ((acctnum2 text))
-              (authtransfer c acctnum2 b price m nm)))))
-      (3 (and (reqtransfer m b price m nm) (doship m goods c))))))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
-  (label 108)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price nc-0 goods price-0 text)
-    (b m c hash c-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc-0) (nm nm) (goods goods)
-    (price price-0) (b b) (c c-0) (m m) (hash hash))
-  (precedes ((0 1) (1 2)) ((1 1) (0 0)) ((1 3) (0 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (operation encryption-test (added-strand merchant 4)
-    (enc (enc "hash" b m nb nm (pubk hash)) (privk m)) (0 2))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c-0 nc-0 goods (pubk m)))
-      (send (enc nc-0 nm m price-0 (pubk c-0)))
-      (recv
-        (cat
-          (enc (enc "hash" c-0 nc-0 nb nm price-0 (pubk hash))
-            (privk b)) nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
-  (label 109)
-  (parent 108)
-  (unrealized (1 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (1 2)) ((1 1) (0 0)) ((1 3) (0 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (operation encryption-test (added-strand bank 2)
-    (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b)) (1 2))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
-  (label 110)
-  (parent 109)
-  (seen 111)
-  (unrealized (0 0) (1 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price goods acctnum-0 goods-0 text)
-    (b m c hash b-0 m-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b-0) (c c) (m m-0) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (added-strand customer 5) nb (1 2)
-    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods-0 (pubk m-0)))
-      (recv (enc nc nm m-0 price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b-0)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
-          nb))))
-  (label 111)
-  (parent 110)
-  (unrealized (0 0) (2 1) (2 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price goods acctnum-0 goods-0 text)
-    (b m c hash b-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (contracted (m-0 m)) nm (2 1)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b-0)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
-          nb))))
-  (label 112)
-  (parent 111)
-  (unrealized (0 0) (1 0) (2 3))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price goods acctnum-0 goods-0 text)
-    (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (operation encryption-test (added-strand bank 2)
-    (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b)) (2 3))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 113)
-  (parent 112)
-  (unrealized (0 0) (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (contracted (goods-0 goods)) nc (1 0)
-    (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 114)
-  (parent 113)
-  (unrealized (0 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars
-    (nm nb nc acctnum price goods acctnum-0 goods-0 nm-0 price-0 text)
-    (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods-0)
-    (price price-0) (c c) (m m))
-  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 4) (1 2)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (added-strand merchant 2) nc (1 0)
-    (enc c nc goods-0 (pubk m)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods-0 (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods-0 (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 115)
-  (parent 113)
-  (unrealized (0 0) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price acctnum-0 goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (0 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand customer 3) price (0 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 116)
-  (parent 114)
-  (seen 120 122)
-  (unrealized (0 0))
-  (comment "7 in cohort - 4 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (0 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (added-strand customer 3) nm (0 0)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 117)
-  (parent 114)
-  (seen 122)
-  (unrealized (0 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 text)
-    (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 4) (1 2)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (contracted (goods-0 goods)) nc (1 0)
-    (enc nc nm-0 m price-0 (pubk c)) (enc c nc goods (pubk m)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 118)
-  (parent 115)
-  (unrealized (0 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price acctnum goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (0 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nb nc price)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 119)
-  (parent 116)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (3 0)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 120)
-  (parent 116)
-  (seen 128)
-  (unrealized (0 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nb-0 text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (3 0)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 121)
-  (parent 116)
-  (seen 129)
-  (unrealized (0 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price acctnum-0 goods nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (3 0)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum-0 price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 122)
-  (parent 116)
-  (seen 130)
-  (unrealized (0 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc price acctnum goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (0 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))))
-  (label 123)
-  (parent 117)
-  (unrealized)
-  (shape))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (3 0)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (added-strand bank 2) nm (0 0)
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum-0 price (pubk b)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc nm acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 124)
-  (parent 117)
-  (seen 130)
-  (unrealized (0 0) (3 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price acctnum-0 goods nm price-0 text)
-    (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand customer 3) price (0 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 125)
-  (parent 118)
-  (seen 133 135)
-  (unrealized (0 0))
-  (comment "7 in cohort - 4 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 text)
-    (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (added-strand customer 3) nm (0 0)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 126)
-  (parent 118)
-  (seen 135)
-  (unrealized (0 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price acctnum goods price-0 text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price-0) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price-0) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price-0)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (0 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nb nc price price-0)
-  (operation generalization separated price-0)
-  (traces
-    ((recv (enc c nc price-0 acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price-0 (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price-0 m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price-0 (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price-0 m price (pubk c)))
-      (send (enc c nc price-0 acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price-0 price (pubk hash)) (privk b))
-          nb))))
-  (label 127)
-  (parent 119)
-  (seen 123)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand customer 3) price (3 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 128)
-  (parent 120)
-  (unrealized (0 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nb-0 text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand customer 3) price (3 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 129)
-  (parent 121)
-  (seen 128 140)
-  (unrealized (0 0))
-  (comment "7 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price acctnum-0 goods nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand customer 3) price (3 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 130)
-  (parent 122)
-  (seen 128 140)
-  (unrealized (0 0))
-  (comment "7 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (added-strand customer 3) nm (3 0)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc nm acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 131)
-  (parent 124)
-  (unrealized (0 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price acctnum goods nm price-0 text) (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c)))))
-  (label 132)
-  (parent 125)
-  (seen 119)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nm price-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (4 0)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0))
-    ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 133)
-  (parent 125)
-  (seen 143)
-  (unrealized (0 0) (4 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nm price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (4 0)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0))
-    ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 134)
-  (parent 125)
-  (seen 144)
-  (unrealized (0 0) (4 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price acctnum-0 goods nm price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (4 0)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0))
-    ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum-0 price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 135)
-  (parent 125)
-  (seen 145)
-  (unrealized (0 0) (4 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc price acctnum goods nm-0 price-0 text)
-    (b m c hash name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c)))))
-  (label 136)
-  (parent 126)
-  (seen 123)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (4 0)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0))
-    ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (added-strand bank 2) nm (0 0)
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum-0 price (pubk b)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c))))
-    ((recv (enc c nc nm acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 137)
-  (parent 126)
-  (seen 145)
-  (unrealized (0 0) (4 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price goods text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (contracted (acctnum price)) price (0 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 138)
-  (parent 128)
-  (unrealized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price goods nb-0 text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (contracted (acctnum price)) price (0 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 139)
-  (parent 129)
-  (seen 147)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nb-0 text)
-    (b m c hash hash-0 hash-1 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (4 0)) ((1 3) (0 2))
-    ((2 0) (1 0)) ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0))
-    ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nb nc price)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 140)
-  (parent 129)
-  (seen 128)
-  (unrealized (0 0) (4 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price acctnum goods nb-0 text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) price (0 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 141)
-  (parent 130)
-  (seen 119)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc price acctnum goods nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nm nb nc)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
-    (enc "hash" c nc nb-0 nm price (pubk hash-0))
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 142)
-  (parent 131)
-  (seen 123)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nm price-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand customer 3) price (4 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 143)
-  (parent 133)
-  (unrealized (0 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nm price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand customer 3) price (4 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 144)
-  (parent 134)
-  (seen 143 150)
-  (unrealized (0 0))
-  (comment "7 in cohort - 2 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price acctnum-0 goods nm price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand customer 3) price (4 0)
-    (enc nc price m price (pubk c)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum-0 price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 145)
-  (parent 135)
-  (seen 143 150)
-  (unrealized (0 0))
-  (comment "7 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (added-strand customer 3) nm (4 0)
-    (enc nc nm m price (pubk c)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum-0 price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c))))
-    ((recv (enc c nc nm acctnum-0 price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 146)
-  (parent 137)
-  (unrealized (0 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price goods text) (b m c hash name))
-  (defstrand bank 3 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
-    ((2 2) (0 0)) ((2 4) (1 2)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash))
-  (uniq-orig nb nc price)
-  (operation generalization deleted (3 0))
-  (traces
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))))
-  (label 147)
-  (parent 138)
-  (seen 119)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price goods nm price-0 text) (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (contracted (acctnum price)) price (0 0)
-    (enc "hash" c nc price price price (pubk hash-0))
-    (enc nc price (pubk c)) (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-0))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 148)
-  (parent 143)
-  (seen 138)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price goods nm price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum price) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (contracted (acctnum price)) price (0 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 149)
-  (parent 144)
-  (seen 139)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc acctnum price goods nm price-0 nb-0 text)
-    (b m c hash hash-0 hash-1 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum price) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (defstrand bank 2 (acctnum price) (nc nc) (nm price) (nb price)
-    (price price) (b b) (c c) (hash hash-1))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (5 0)) ((1 3) (0 2))
-    ((2 0) (3 0)) ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0))
-    ((4 1) (0 0)) ((5 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0)
-    (privk hash-1))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (added-strand bank 2) price (0 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price price price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price price price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c)))))
-    ((recv (enc c nc price price price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc price price price (pubk hash-1))
-            (privk b)) (enc nc price (pubk c))))))
-  (label 150)
-  (parent 144)
-  (seen 143)
-  (unrealized (0 0) (5 0))
-  (comment "2 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nb nc price acctnum goods nm price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm price) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm price) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm price)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm price) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nb nc price nm)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) price (0 0)
-    (enc "hash" c nc nb-0 price price (pubk hash-0))
-    (enc nc price m price (pubk c))
-    (enc c nc price acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc price m price (pubk c)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb price (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc price m price (pubk c)))
-      (send (enc c nc price acctnum price (pubk b)))
-      (recv
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb price price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price-0 (pubk c))))
-    ((recv (enc c nc price acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 price price (pubk hash-0))
-            (privk b)) (enc nc nb-0 (pubk c))))))
-  (label 151)
-  (parent 145)
-  (seen 141)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton epmo_acctnum
-  (vars (nm nb nc price acctnum goods nm-0 price-0 nb-0 text)
-    (b m c hash hash-0 name))
-  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
-    (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
-    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
-  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
-    (c c) (m m))
-  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
-    (price price) (b b) (c c) (hash hash-0))
-  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
-    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
-  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
-  (uniq-orig nm nb nc nm-0)
-  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
-    (enc "hash" c nc nb-0 nm price (pubk hash-0))
-    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
-  (traces
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm m price (pubk c)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb))
-      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
-    ((send (enc c nc goods (pubk m)))
-      (recv (enc nc nm m price (pubk c)))
-      (send (enc c nc nm acctnum price (pubk b)))
-      (recv
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          (enc nc nb (pubk c))))
-      (send
-        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
-          nb)))
-    ((recv (enc c nc goods (pubk m)))
-      (send (enc nc nm-0 m price-0 (pubk c))))
-    ((recv (enc c nc nm acctnum price (pubk b)))
-      (send
-        (cat
-          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
-          (enc nc nb-0 (pubk c))))))
-  (label 152)
-  (parent 146)
-  (seen 142)
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol epmo_acctnum basic
+  (defrole bank
+    (vars (b c m name) (acctnum text) (hash name) (nc nm nb price text))
+    (trace (recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    (non-orig (privk hash))
+    (annotations b
+      (1
+        (forall ((pm name))
+          (implies
+            (and (authtransfer c acctnum b price pm nm)
+              (reqtransfer pm b price pm nm))
+            (dotransfer acctnum b price pm nm))))
+      (2
+        (and (says c (authtransfer c acctnum b price m nm))
+          (says m (reqtransfer m b price m nm))))))
+  (defrole customer
+    (vars (b c m hash name) (acctnum nb nc nm goods price text))
+    (trace (send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    (non-orig (privk b) (privk hash))
+    (uniq-orig nc)
+    (annotations c
+      (1
+        (says m
+          (implies
+            (exists ((acctnum2 text))
+              (dotransfer acctnum2 b price m nm)) (doship m goods c))))
+      (3
+        (says b
+          (forall ((pm name))
+            (implies
+              (and (authtransfer c acctnum b price m nm)
+                (reqtransfer pm b price pm nm))
+              (dotransfer acctnum b price pm nm)))))
+      (4 (authtransfer c acctnum b price m nm))))
+  (defrole merchant
+    (vars (b c m hash name) (nb nc nm goods price text))
+    (trace (recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    (non-orig (privk hash))
+    (uniq-orig nm)
+    (annotations m
+      (1
+        (implies
+          (exists ((acctnum2 text)) (dotransfer acctnum2 b price m nm))
+          (doship m goods c)))
+      (2
+        (and
+          (says b
+            (forall ((pm name))
+              (exists ((acctnum2 text))
+                (implies
+                  (and (authtransfer c acctnum2 b price m nm)
+                    (reqtransfer pm b price pm nm))
+                  (dotransfer acctnum2 b price pm nm)))))
+          (says c
+            (exists ((acctnum2 text))
+              (authtransfer c acctnum2 b price m nm)))))
+      (3 (and (reqtransfer m b price m nm) (doship m goods c))))))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price text) (b m c hash name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nc nb)
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
+  (label 0)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum text) (b m c hash name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nc nb)
+  (operation encryption-test (added-strand bank 2)
+    (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b)) (0 2))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 2) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum acctnum-0 goods-0 text)
+    (b m c hash b-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b-0) (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (added-strand customer 3) nm (1 0)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b-0)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 0) (0 2) (1 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum goods-0 text) (m c hash b name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b) (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (contracted (b-0 b) (acctnum-0 acctnum)) nm
+    (1 0) (enc nc nm m price (pubk c))
+    (enc c nc nm acctnum price (pubk b)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 0) (0 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum acctnum-0 goods-0 nb-0 text)
+    (b m c hash b-0 hash-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b-0) (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b-0) (c c) (hash hash-0))
+  (precedes ((0 1) (2 1)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 0) (0 0))
+    ((2 2) (1 0)) ((3 1) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
+    (privk hash-0))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (added-strand bank 2) nm (1 0)
+    (enc nc nm m price (pubk c))
+    (enc c nc nm acctnum-0 price (pubk b-0)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b-0))))
+    ((recv (enc c nc nm acctnum-0 price (pubk b-0)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0))
+            (privk b-0)) (enc nc nb-0 (pubk c))))))
+  (label 4)
+  (parent 2)
+  (unrealized (0 0) (0 2) (1 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price acctnum goods text) (m c hash b name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (1 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
+    (enc c nc goods (pubk m)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))))
+  (label 5)
+  (parent 3)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum goods-0 nm-0 price-0 text)
+    (m c hash b name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b) (c c) (m m))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods-0)
+    (price price-0) (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (3 0)) ((2 2) (1 0))
+    ((3 1) (0 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b))
+  (uniq-orig nm nc nb nm-0)
+  (operation nonce-test (added-strand merchant 2) nc (0 0)
+    (enc c nc goods-0 (pubk m)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b))))
+    ((recv (enc c nc goods-0 (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 6)
+  (parent 3)
+  (unrealized (0 0) (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum acctnum-0 goods-0 nb-0 text)
+    (b m c hash b-0 hash-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum-0) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b-0) (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b-0) (c c) (hash hash-0))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
+    ((3 1) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0)
+    (privk hash-0))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (added-strand customer 3) nm (3 0)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b-0))))
+    ((recv (enc c nc nm acctnum-0 price (pubk b-0)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0))
+            (privk b-0)) (enc nc nb-0 (pubk c))))))
+  (label 7)
+  (parent 4)
+  (unrealized (0 0) (0 2) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price acctnum goods text) (c hash b m name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (2 1)) ((1 1) (2 3)) ((2 0) (0 0)) ((2 2) (1 0))
+    ((2 4) (0 2)))
+  (non-orig (privk c) (privk hash) (privk b) (privk m))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (added-strand customer 5) nb (0 2)
+    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 8)
+  (parent 5)
+  (unrealized)
+  (shape))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price acctnum goods nm-0 price-0 text)
+    (m c hash b name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (3 0)) ((2 2) (1 0))
+    ((3 1) (0 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b))
+  (uniq-orig nm nc nb nm-0)
+  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
+    (enc nc nm-0 m price-0 (pubk c)) (enc c nc goods (pubk m)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 9)
+  (parent 6)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum goods-0 nb-0 text)
+    (m c hash b hash-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b) (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
+    ((3 1) (1 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (contracted (b-0 b) (acctnum-0 acctnum)) nm
+    (1 0) (enc "hash" c nc nb-0 nm price (pubk hash-0))
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 10)
+  (parent 7)
+  (unrealized (0 0) (0 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price nm-0 price-0 acctnum goods text)
+    (c hash b m name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (0 0)) ((3 0) (2 0))
+    ((3 2) (1 0)) ((3 4) (0 2)))
+  (non-orig (privk c) (privk hash) (privk b) (privk m))
+  (uniq-orig nm nc nb nm-0)
+  (operation nonce-test (added-strand customer 5) nb (0 2)
+    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 11)
+  (parent 9)
+  (seen 8)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price acctnum goods nb-0 text)
+    (m c hash b hash-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (0 0)) ((2 2) (3 0))
+    ((3 1) (1 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
+    (enc c nc goods (pubk m)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 12)
+  (parent 10)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb goods price acctnum goods-0 nb-0 nm-0 price-0 text)
+    (m c hash b hash-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b) (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods-0)
+    (price price-0) (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
+    ((3 1) (1 0)) ((4 1) (0 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
+  (uniq-orig nm nc nb nm-0)
+  (operation nonce-test (added-strand merchant 2) nc (0 0)
+    (enc c nc goods-0 (pubk m)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c)))))
+    ((recv (enc c nc goods-0 (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 13)
+  (parent 10)
+  (unrealized (0 0) (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price nb-0 acctnum goods text)
+    (c hash hash-0 b m name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (3 1)) ((1 1) (3 3)) ((2 1) (1 0)) ((3 0) (0 0))
+    ((3 2) (2 0)) ((3 4) (0 2)))
+  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
+  (uniq-orig nm nc nb)
+  (operation nonce-test (added-strand customer 5) nb (0 2)
+    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c)))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 14)
+  (parent 12)
+  (seen 8)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price acctnum goods nb-0 nm-0 price-0 text)
+    (m c hash b hash-0 name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand customer 3 (acctnum acctnum) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (precedes ((0 1) (2 1)) ((1 1) (0 2)) ((2 0) (4 0)) ((2 2) (3 0))
+    ((3 1) (1 0)) ((4 1) (0 0)))
+  (non-orig (privk m) (privk c) (privk hash) (privk b) (privk hash-0))
+  (uniq-orig nm nc nb nm-0)
+  (operation nonce-test (contracted (goods-0 goods)) nc (0 0)
+    (enc nc nm-0 m price-0 (pubk c)) (enc c nc goods (pubk m)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c)))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 15)
+  (parent 13)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nc nb price nb-0 nm-0 price-0 acctnum goods text)
+    (c hash hash-0 b m name))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (4 1)) ((1 1) (4 3)) ((2 1) (1 0)) ((3 1) (0 0))
+    ((4 0) (3 0)) ((4 2) (2 0)) ((4 4) (0 2)))
+  (non-orig (privk c) (privk hash) (privk hash-0) (privk b) (privk m))
+  (uniq-orig nm nc nb nm-0)
+  (operation nonce-test (added-strand customer 5) nb (0 2)
+    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
+  (traces
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c)))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c)))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 16)
+  (parent 15)
+  (seen 11)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(comment "Nothing left to do")
+
+(defprotocol epmo_acctnum basic
+  (defrole bank
+    (vars (b c m name) (acctnum text) (hash name) (nc nm nb price text))
+    (trace (recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    (non-orig (privk hash))
+    (annotations b
+      (1
+        (forall ((pm name))
+          (implies
+            (and (authtransfer c acctnum b price pm nm)
+              (reqtransfer pm b price pm nm))
+            (dotransfer acctnum b price pm nm))))
+      (2
+        (and (says c (authtransfer c acctnum b price m nm))
+          (says m (reqtransfer m b price m nm))))))
+  (defrole customer
+    (vars (b c m hash name) (acctnum nb nc nm goods price text))
+    (trace (send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    (non-orig (privk b) (privk hash))
+    (uniq-orig nc)
+    (annotations c
+      (1
+        (says m
+          (implies
+            (exists ((acctnum2 text))
+              (dotransfer acctnum2 b price m nm)) (doship m goods c))))
+      (3
+        (says b
+          (forall ((pm name))
+            (implies
+              (and (authtransfer c acctnum b price m nm)
+                (reqtransfer pm b price pm nm))
+              (dotransfer acctnum b price pm nm)))))
+      (4 (authtransfer c acctnum b price m nm))))
+  (defrole merchant
+    (vars (b c m hash name) (nb nc nm goods price text))
+    (trace (recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    (non-orig (privk hash))
+    (uniq-orig nm)
+    (annotations m
+      (1
+        (implies
+          (exists ((acctnum2 text)) (dotransfer acctnum2 b price m nm))
+          (doship m goods c)))
+      (2
+        (and
+          (says b
+            (forall ((pm name))
+              (exists ((acctnum2 text))
+                (implies
+                  (and (authtransfer c acctnum2 b price m nm)
+                    (reqtransfer pm b price pm nm))
+                  (dotransfer acctnum2 b price pm nm)))))
+          (says c
+            (exists ((acctnum2 text))
+              (authtransfer c acctnum2 b price m nm)))))
+      (3 (and (reqtransfer m b price m nm) (doship m goods c))))))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price text) (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
+  (label 17)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price nc-0 goods price-0 text)
+    (b m c hash c-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc-0) (nm nm) (goods goods)
+    (price price-0) (b b) (c c-0) (m m) (hash hash))
+  (precedes ((0 1) (1 2)) ((1 1) (0 0)) ((1 3) (0 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (operation encryption-test (added-strand merchant 4)
+    (enc (enc "hash" b m nb nm (pubk hash)) (privk m)) (0 2))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c-0 nc-0 goods (pubk m)))
+      (send (enc nc-0 nm m price-0 (pubk c-0)))
+      (recv
+        (cat
+          (enc (enc "hash" c-0 nc-0 nb nm price-0 (pubk hash))
+            (privk b)) nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
+  (label 18)
+  (parent 17)
+  (unrealized (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price goods text) (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (1 2)) ((1 1) (0 0)) ((1 3) (0 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (operation encryption-test (added-strand bank 2)
+    (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b)) (1 2))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
+  (label 19)
+  (parent 18)
+  (unrealized (0 0) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price goods acctnum-0 goods-0 text)
+    (b m c hash b-0 m-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b-0) (c c) (m m-0) (hash hash))
+  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
+    ((2 0) (1 0)) ((2 4) (1 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (added-strand customer 5) nb (1 2)
+    (enc "hash" c nc nb nm price (pubk hash)) (enc nc nb (pubk c)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods-0 (pubk m-0)))
+      (recv (enc nc nm m-0 price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b-0)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
+          nb))))
+  (label 20)
+  (parent 19)
+  (unrealized (0 0) (2 1) (2 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price goods acctnum-0 goods-0 text)
+    (b m c hash b-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b-0) (c c) (m m) (hash hash))
+  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
+    ((2 0) (1 0)) ((2 4) (1 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk b-0))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (contracted (m-0 m)) nm (2 1)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b-0)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b-0))
+          nb))))
+  (label 21)
+  (parent 20)
+  (unrealized (0 0) (1 0) (2 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price goods acctnum-0 goods-0 text)
+    (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
+    ((2 0) (1 0)) ((2 4) (1 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (operation encryption-test (added-strand bank 2)
+    (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b)) (2 3))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 22)
+  (parent 21)
+  (unrealized (0 0) (1 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods text) (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
+    ((2 0) (1 0)) ((2 4) (1 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (contracted (goods-0 goods)) nc (1 0)
+    (enc c nc goods (pubk m)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 23)
+  (parent 22)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars
+    (nm nb nc acctnum price goods acctnum-0 goods-0 nm-0 price-0 text)
+    (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods-0) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods-0)
+    (price price-0) (c c) (m m))
+  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
+    ((2 0) (3 0)) ((2 4) (1 2)) ((3 1) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (added-strand merchant 2) nc (1 0)
+    (enc c nc goods-0 (pubk m)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods-0 (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods-0 (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 24)
+  (parent 22)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods text) (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
+    ((2 2) (0 0)) ((2 4) (1 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (added-strand customer 3) nm (0 0)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 25)
+  (parent 23)
+  (unrealized (0 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 text)
+    (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (precedes ((0 1) (2 3)) ((1 1) (0 0)) ((1 1) (2 1)) ((1 3) (0 2))
+    ((2 0) (3 0)) ((2 4) (1 2)) ((3 1) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (contracted (goods-0 goods)) nc (1 0)
+    (enc nc nm-0 m price-0 (pubk c)) (enc c nc goods (pubk m)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 26)
+  (parent 24)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc price acctnum goods text) (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
+    ((2 2) (0 0)) ((2 4) (1 2)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))))
+  (label 27)
+  (parent 25)
+  (unrealized)
+  (shape))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods nb-0 text)
+    (b m c hash hash-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (3 0)) ((1 3) (0 2))
+    ((2 0) (1 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (0 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (added-strand bank 2) nm (0 0)
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum-0 price (pubk b)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc nm acctnum-0 price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 28)
+  (parent 25)
+  (unrealized (0 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 text)
+    (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
+    ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (added-strand customer 3) nm (0 0)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 29)
+  (parent 26)
+  (unrealized (0 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods nb-0 text)
+    (b m c hash hash-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
+    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (added-strand customer 3) nm (3 0)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc nm acctnum-0 price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 30)
+  (parent 28)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc price acctnum goods nm-0 price-0 text)
+    (b m c hash name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
+    ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c)))))
+  (label 31)
+  (parent 29)
+  (seen 27)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 nb-0 text)
+    (b m c hash hash-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 1) (4 0)) ((1 3) (0 2))
+    ((2 0) (3 0)) ((2 2) (0 0)) ((2 4) (1 2)) ((3 1) (1 0))
+    ((4 1) (0 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (added-strand bank 2) nm (0 0)
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum-0 price (pubk b)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c))))
+    ((recv (enc c nc nm acctnum-0 price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 32)
+  (parent 29)
+  (unrealized (0 0) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc price acctnum goods nb-0 text)
+    (b m c hash hash-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (1 0))
+    ((2 2) (3 0)) ((2 4) (1 2)) ((3 1) (0 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
+  (uniq-orig nm nb nc)
+  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
+    (enc "hash" c nc nb-0 nm price (pubk hash-0))
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 33)
+  (parent 30)
+  (seen 27)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc acctnum price acctnum-0 goods nm-0 price-0 nb-0 text)
+    (b m c hash hash-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum-0) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum-0) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
+    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (added-strand customer 3) nm (4 0)
+    (enc nc nm m price (pubk c)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum-0 price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c))))
+    ((recv (enc c nc nm acctnum-0 price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 34)
+  (parent 32)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton epmo_acctnum
+  (vars (nm nb nc price acctnum goods nm-0 price-0 nb-0 text)
+    (b m c hash hash-0 name))
+  (defstrand bank 3 (acctnum acctnum) (nc nc) (nm nm) (nb nb)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 4 (nb nb) (nc nc) (nm nm) (goods goods)
+    (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand customer 5 (acctnum acctnum) (nb nb) (nc nc) (nm nm)
+    (goods goods) (price price) (b b) (c c) (m m) (hash hash))
+  (defstrand merchant 2 (nc nc) (nm nm-0) (goods goods) (price price-0)
+    (c c) (m m))
+  (defstrand bank 2 (acctnum acctnum) (nc nc) (nm nm) (nb nb-0)
+    (price price) (b b) (c c) (hash hash-0))
+  (precedes ((0 1) (2 3)) ((1 1) (2 1)) ((1 3) (0 2)) ((2 0) (3 0))
+    ((2 2) (4 0)) ((2 4) (1 2)) ((3 1) (1 0)) ((4 1) (0 0)))
+  (non-orig (privk b) (privk m) (privk c) (privk hash) (privk hash-0))
+  (uniq-orig nm nb nc nm-0)
+  (operation nonce-test (contracted (acctnum-0 acctnum)) nm (0 0)
+    (enc "hash" c nc nb-0 nm price (pubk hash-0))
+    (enc nc nm m price (pubk c)) (enc c nc nm acctnum price (pubk b)))
+  (traces
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm m price (pubk c)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb))
+      (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m))))
+    ((send (enc c nc goods (pubk m)))
+      (recv (enc nc nm m price (pubk c)))
+      (send (enc c nc nm acctnum price (pubk b)))
+      (recv
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          (enc nc nb (pubk c))))
+      (send
+        (cat (enc (enc "hash" c nc nb nm price (pubk hash)) (privk b))
+          nb)))
+    ((recv (enc c nc goods (pubk m)))
+      (send (enc nc nm-0 m price-0 (pubk c))))
+    ((recv (enc c nc nm acctnum price (pubk b)))
+      (send
+        (cat
+          (enc (enc "hash" c nc nb-0 nm price (pubk hash-0)) (privk b))
+          (enc nc nb-0 (pubk c))))))
+  (label 35)
+  (parent 34)
+  (seen 33)
   (unrealized)
   (comment "1 in cohort - 0 not yet seen"))
 
diff --git a/tst/ffgg.tst b/tst/ffgg.tst
--- a/tst/ffgg.tst
+++ b/tst/ffgg.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol ffgg basic
diff --git a/tst/isoreject.tst b/tst/isoreject.tst
--- a/tst/isoreject.tst
+++ b/tst/isoreject.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol isoreject basic
diff --git a/tst/kelly1.tst b/tst/kelly1.tst
--- a/tst/kelly1.tst
+++ b/tst/kelly1.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol kelly1 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 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol kerberos basic
@@ -36,7 +36,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (precedes ((1 1) (0 1)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig k)
@@ -47,8 +47,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))))
   (label 1)
   (parent 0)
   (unrealized (0 3))
@@ -58,7 +58,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (precedes ((1 1) (0 1)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig k)
@@ -69,8 +69,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))))
   (label 2)
   (parent 0)
   (unrealized (0 3))
@@ -80,7 +80,7 @@
   (vars (t t-prime l t-0 l-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t-0) (t-prime t-prime) (l l-0) (a a-0) (b b-0)
     (ks ks-0) (k k))
   (precedes ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
@@ -93,8 +93,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc a-0 t-0 k) (enc t-0 l-0 k a-0 (ltk b-0 ks-0))))
       (send (enc t-prime k))))
   (label 3)
@@ -106,7 +106,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (deflistener k)
   (precedes ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -117,8 +117,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv k) (send k)))
   (label 4)
   (parent 1)
@@ -129,7 +129,7 @@
   (vars (t t-prime l t-0 l-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t-0) (t-prime t-prime) (l l-0) (a a-0) (b b-0)
     (ks ks-0) (k k))
   (precedes ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
@@ -142,8 +142,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc a-0 t-0 k) (enc t-0 l-0 k a-0 (ltk b-0 ks-0))))
       (send (enc t-prime k))))
   (label 5)
@@ -155,7 +155,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (deflistener k)
   (precedes ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (0 3)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -166,8 +166,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv k) (send k)))
   (label 6)
   (parent 2)
@@ -179,7 +179,7 @@
     (a b ks a-0 b-0 ks-0 b-1 ks-1 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t-0) (t-prime t-prime) (l l-0) (a a-0) (b b-0)
     (ks ks-0) (k k))
   (defstrand init 3 (t t-0) (l l-1) (a a-0) (b b-1) (ks ks-1) (k k))
@@ -193,8 +193,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc a-0 t-0 k) (enc t-0 l-0 k a-0 (ltk b-0 ks-0))))
       (send (enc t-prime k)))
     ((send (cat a-0 b-1))
@@ -211,7 +211,7 @@
   (vars (t t-prime l t-0 l-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t-0) (t-prime t-prime) (l l-0) (a a-0) (b b-0)
     (ks ks-0) (k k))
   (deflistener k)
@@ -224,8 +224,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc a-0 t-0 k) (enc t-0 l-0 k a-0 (ltk b-0 ks-0))))
       (send (enc t-prime k))) ((recv k) (send k)))
   (label 8)
@@ -238,7 +238,7 @@
     (a b ks a-0 b-0 ks-0 b-1 ks-1 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t-0) (t-prime t-prime) (l l-0) (a a-0) (b b-0)
     (ks ks-0) (k k))
   (defstrand init 3 (t t-0) (l l-1) (a a-0) (b b-1) (ks ks-1) (k k))
@@ -252,8 +252,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc a-0 t-0 k) (enc t-0 l-0 k a-0 (ltk b-0 ks-0))))
       (send (enc t-prime k)))
     ((send (cat a-0 b-1))
@@ -270,7 +270,7 @@
   (vars (t t-prime l t-0 l-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t-0) (t-prime t-prime) (l l-0) (a a-0) (b b-0)
     (ks ks-0) (k k))
   (deflistener k)
@@ -283,8 +283,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc a-0 t-0 k) (enc t-0 l-0 k a-0 (ltk b-0 ks-0))))
       (send (enc t-prime k))) ((recv k) (send k)))
   (label 10)
@@ -296,7 +296,7 @@
   (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a a) (b b-0)
     (ks ks-0) (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
@@ -311,8 +311,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc a t k) (enc t l-0 k a (ltk b-0 ks-0))))
       (send (enc t-prime k)))
     ((send (cat a b))
@@ -327,7 +327,7 @@
   (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a b) (b b-0)
     (ks ks-0) (k k))
   (defstrand init 3 (t t) (l l) (a b) (b a) (ks ks) (k k))
@@ -342,8 +342,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc b t k) (enc t l-0 k b (ltk b-0 ks-0))))
       (send (enc t-prime k)))
     ((send (cat b a))
@@ -358,7 +358,7 @@
   (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a a) (b b-0)
     (ks ks-0) (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
@@ -373,8 +373,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc a t k) (enc t l-0 k a (ltk b-0 ks-0))))
       (send (enc t-prime k)))
     ((send (cat a b))
@@ -389,7 +389,7 @@
   (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a b) (b b-0)
     (ks ks-0) (k k))
   (defstrand init 3 (t t) (l l) (a b) (b a) (ks ks) (k k))
@@ -404,8 +404,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc b t k) (enc t l-0 k b (ltk b-0 ks-0))))
       (send (enc t-prime k)))
     ((send (cat b a))
@@ -420,7 +420,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
@@ -434,8 +434,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
     ((send (cat a b))
@@ -451,7 +451,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a b) (b a) (ks ks)
     (k k))
   (defstrand init 3 (t t) (l l) (a b) (b a) (ks ks) (k k))
@@ -465,8 +465,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc b t k) (enc t l k b (ltk a ks))))
       (send (enc t-prime k)))
     ((send (cat b a))
@@ -482,7 +482,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
@@ -496,8 +496,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
     ((send (cat a b))
@@ -513,7 +513,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a b) (b a) (ks ks)
     (k k))
   (defstrand init 3 (t t) (l l) (a b) (b a) (ks ks) (k k))
@@ -527,8 +527,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc b t k) (enc t l k b (ltk a ks))))
       (send (enc t-prime k)))
     ((send (cat b a))
@@ -545,7 +545,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
   (precedes ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
@@ -557,8 +557,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k))))
   (label 19)
@@ -588,7 +588,7 @@
       (send (enc t-prime k))))
   (label 20)
   (parent 16)
-  (seen 19)
+  (seen 21)
   (unrealized)
   (comment "1 in cohort - 0 not yet seen"))
 
@@ -596,7 +596,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
   (precedes ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
@@ -608,8 +608,8 @@
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))
       (recv (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k))))
   (label 21)
@@ -652,7 +652,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (precedes ((1 1) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig k)
@@ -661,8 +661,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))))
   (label 23)
   (parent 22)
   (unrealized (0 0))
@@ -672,7 +672,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (precedes ((1 1) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig k)
@@ -681,8 +681,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))))
   (label 24)
   (parent 22)
   (unrealized (0 0))
@@ -692,7 +692,7 @@
   (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (t t) (l l-0) (a a) (b b-0) (ks ks-0) (k k))
   (precedes ((1 1) (2 1)) ((2 2) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -701,8 +701,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((send (cat a b-0))
       (recv
         (cat (enc t l-0 k b-0 (ltk a ks-0))
@@ -717,7 +717,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (deflistener k)
   (precedes ((1 1) (2 0)) ((2 1) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -726,8 +726,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((recv k) (send k)))
   (label 26)
   (parent 23)
@@ -738,7 +738,7 @@
   (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand init 3 (t t) (l l-0) (a a) (b b-0) (ks ks-0) (k k))
   (precedes ((1 1) (2 1)) ((2 2) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -747,8 +747,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((send (cat a b-0))
       (recv
         (cat (enc t l-0 k b-0 (ltk a ks-0))
@@ -763,7 +763,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (deflistener k)
   (precedes ((1 1) (2 0)) ((2 1) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -772,8 +772,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((recv k) (send k)))
   (label 28)
   (parent 24)
@@ -784,7 +784,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (precedes ((1 1) (2 1)) ((2 2) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -794,8 +794,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat b a))
-      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
+    ((recv (cat a b))
+      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
     ((send (cat a b))
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))))
@@ -808,7 +808,7 @@
   (vars (t t-prime l text) (a b ks name) (k skey))
   (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
-  (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
   (precedes ((1 1) (2 1)) ((2 2) (0 0)))
   (non-orig (ltk a ks) (ltk b ks))
@@ -818,8 +818,8 @@
   (traces
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k)))
-    ((recv (cat a b))
-      (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))
+    ((recv (cat b a))
+      (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))
     ((send (cat a b))
       (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))
       (send (cat (enc a t k) (enc t l k a (ltk b ks))))))
diff --git a/tst/missing-contraction.scm b/tst/missing-contraction.scm
deleted file mode 100644
--- a/tst/missing-contraction.scm
+++ /dev/null
@@ -1,19 +0,0 @@
-(defprotocol missing-contraction basic
-  (defrole sender
-    (vars (m n text) (a b name))
-    (trace 
-     (send (enc a m (pubk a)))
-     (send (enc a n (pubk b)))))
-  (defrole receiver
-    (vars (m text) (a b name))
-    (trace 
-     (recv (enc a m (pubk b))))))
-
-(defskeleton missing-contraction
-  (vars (m text) (a name))
-  (defstrand sender 2 (m m) (a a))
-  (defstrand receiver 1 (m m) (a a))
-  (precedes ((0 1) (1 0)))
-  (uniq-orig m)
-  (non-orig (privk a)))
-
diff --git a/tst/missing-contraction.tst b/tst/missing-contraction.tst
deleted file mode 100644
--- a/tst/missing-contraction.tst
+++ /dev/null
@@ -1,40 +0,0 @@
-(comment "CPSA 2.0.4")
-(comment "All input read")
-
-(defprotocol missing-contraction basic
-  (defrole sender
-    (vars (m n text) (a b name))
-    (trace (send (enc a m (pubk a))) (send (enc a n (pubk b)))))
-  (defrole receiver
-    (vars (m text) (a b name))
-    (trace (recv (enc a m (pubk b))))))
-
-(defskeleton missing-contraction
-  (vars (m n text) (a b b-0 name))
-  (defstrand sender 2 (m m) (n n) (a a) (b b))
-  (defstrand receiver 1 (m m) (a a) (b b-0))
-  (precedes ((0 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig m)
-  (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))
-    ((recv (enc a m (pubk b-0)))))
-  (label 0)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton missing-contraction
-  (vars (m n text) (a b name))
-  (defstrand sender 2 (m m) (n n) (a a) (b b))
-  (defstrand receiver 1 (m m) (a a) (b a))
-  (precedes ((0 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig m)
-  (operation nonce-test (contracted (b-0 a)) m (1 0) (enc a m (pubk a)))
-  (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))
-    ((recv (enc a m (pubk a)))))
-  (label 1)
-  (parent 0)
-  (unrealized)
-  (shape))
-
-(comment "Nothing left to do")
diff --git a/tst/missing_contraction.scm b/tst/missing_contraction.scm
new file mode 100644
--- /dev/null
+++ b/tst/missing_contraction.scm
@@ -0,0 +1,25 @@
+(defprotocol missing-contraction basic
+  (defrole sender
+    (vars (m n text) (a b name))
+    (trace 
+     (send (enc a m (pubk a)))
+     (send (enc a n (pubk b)))))
+  (defrole receiver
+    (vars (m text) (a b name))
+    (trace 
+     (recv (enc a m (pubk b))))))
+
+(defskeleton missing-contraction
+  (vars (m text) (a c name))
+  (defstrand sender 2 (m m) (a a))
+  (defstrand receiver 1 (m m) (a a) (b c))
+  (precedes ((0 1) (1 0)))
+  (uniq-orig m)
+  (non-orig (privk a)))
+
+(defskeleton missing-contraction
+  (vars (m text) (a c name))
+  (defstrand sender 1 (m m) (a a))
+  (deflistener (enc a m (pubk c)))
+  (uniq-orig m)
+  (non-orig (privk a)))
diff --git a/tst/missing_contraction.tst b/tst/missing_contraction.tst
new file mode 100644
--- /dev/null
+++ b/tst/missing_contraction.tst
@@ -0,0 +1,122 @@
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol missing-contraction basic
+  (defrole sender
+    (vars (m n text) (a b name))
+    (trace (send (enc a m (pubk a))) (send (enc a n (pubk b)))))
+  (defrole receiver
+    (vars (m text) (a b name))
+    (trace (recv (enc a m (pubk b))))))
+
+(defskeleton missing-contraction
+  (vars (m n text) (a c b name))
+  (defstrand sender 2 (m m) (n n) (a a) (b b))
+  (defstrand receiver 1 (m m) (a a) (b c))
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))
+    ((recv (enc a m (pubk c)))))
+  (label 0)
+  (unrealized (1 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton missing-contraction
+  (vars (m n text) (a b name))
+  (defstrand sender 2 (m m) (n n) (a a) (b b))
+  (defstrand receiver 1 (m m) (a a) (b a))
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation nonce-test (contracted (c a)) m (1 0) (enc a m (pubk a)))
+  (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))
+    ((recv (enc a m (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized)
+  (shape))
+
+(defskeleton missing-contraction
+  (vars (n text) (a c b name))
+  (defstrand sender 2 (m n) (n n) (a a) (b b))
+  (defstrand receiver 1 (m n) (a a) (b c))
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand sender 2) n (1 0)
+    (enc a n (pubk a)))
+  (traces ((send (enc a n (pubk a))) (send (enc a n (pubk b))))
+    ((recv (enc a n (pubk c)))))
+  (label 2)
+  (parent 0)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol missing-contraction basic
+  (defrole sender
+    (vars (m n text) (a b name))
+    (trace (send (enc a m (pubk a))) (send (enc a n (pubk b)))))
+  (defrole receiver
+    (vars (m text) (a b name))
+    (trace (recv (enc a m (pubk b))))))
+
+(defskeleton missing-contraction
+  (vars (m text) (a c name))
+  (defstrand sender 1 (m m) (a a))
+  (deflistener (enc a m (pubk c)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (traces ((send (enc a m (pubk a))))
+    ((recv (enc a m (pubk c))) (send (enc a m (pubk c)))))
+  (label 3)
+  (unrealized (1 0)))
+
+(defskeleton missing-contraction
+  (vars (m text) (a c name))
+  (defstrand sender 1 (m m) (a a))
+  (deflistener (enc a m (pubk c)))
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (traces ((send (enc a m (pubk a))))
+    ((recv (enc a m (pubk c))) (send (enc a m (pubk c)))))
+  (label 4)
+  (parent 3)
+  (unrealized (1 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton missing-contraction
+  (vars (m text) (a name))
+  (defstrand sender 1 (m m) (a a))
+  (deflistener (enc a m (pubk a)))
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation nonce-test (contracted (c a)) m (1 0) (enc a m (pubk a)))
+  (traces ((send (enc a m (pubk a))))
+    ((recv (enc a m (pubk a))) (send (enc a m (pubk a)))))
+  (label 5)
+  (parent 4)
+  (unrealized)
+  (shape))
+
+(defskeleton missing-contraction
+  (vars (m text) (c a b name))
+  (deflistener (enc a m (pubk c)))
+  (defstrand sender 2 (m m) (n m) (a a) (b b))
+  (precedes ((1 1) (0 0)))
+  (non-orig (privk a))
+  (uniq-orig m)
+  (operation nonce-test (added-strand sender 2) m (1 0)
+    (enc a m (pubk a)))
+  (traces ((recv (enc a m (pubk c))) (send (enc a m (pubk c))))
+    ((send (enc a m (pubk a))) (send (enc a m (pubk b)))))
+  (label 6)
+  (parent 4)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/neuman-stubblebine-reauth.tst b/tst/neuman-stubblebine-reauth.tst
--- a/tst/neuman-stubblebine-reauth.tst
+++ b/tst/neuman-stubblebine-reauth.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol neuman-stubblebine basic
diff --git a/tst/neuman-stubblebine.tst b/tst/neuman-stubblebine.tst
--- a/tst/neuman-stubblebine.tst
+++ b/tst/neuman-stubblebine.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol neuman-stubblebine basic
diff --git a/tst/no_contraction.scm b/tst/no_contraction.scm
new file mode 100644
--- /dev/null
+++ b/tst/no_contraction.scm
@@ -0,0 +1,16 @@
+(defprotocol no-contraction basic
+  (defrole init
+    (vars (a b name) (n text))
+    (trace
+     (send (enc (enc n (privk a))(pubk b)))))
+  (defrole resp
+    (vars (a name) (n text))
+    (trace
+     (recv (enc n (privk a))))))
+
+(defskeleton no-contraction
+  (vars (a b name) (n m text))
+  (defstrand resp 1 (a a) (n n))
+  (defstrand init 1 (n n))
+  (uniq-orig n)
+  (non-orig (privk a)))
diff --git a/tst/no_contraction.tst b/tst/no_contraction.tst
new file mode 100644
--- /dev/null
+++ b/tst/no_contraction.tst
@@ -0,0 +1,53 @@
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol no-contraction basic
+  (defrole init
+    (vars (a b name) (n text))
+    (trace (send (enc (enc n (privk a)) (pubk b)))))
+  (defrole resp
+    (vars (a name) (n text))
+    (trace (recv (enc n (privk a))))))
+
+(defskeleton no-contraction
+  (vars (n text) (a a-0 b name))
+  (defstrand resp 1 (n n) (a a))
+  (defstrand init 1 (n n) (a a-0) (b b))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces ((recv (enc n (privk a))))
+    ((send (enc (enc n (privk a-0)) (pubk b)))))
+  (label 0)
+  (unrealized (0 0)))
+
+(defskeleton no-contraction
+  (vars (n text) (a a-0 b name))
+  (defstrand resp 1 (n n) (a a))
+  (defstrand init 1 (n n) (a a-0) (b b))
+  (precedes ((1 0) (0 0)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces ((recv (enc n (privk a))))
+    ((send (enc (enc n (privk a-0)) (pubk b)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton no-contraction
+  (vars (n text) (a b name))
+  (defstrand resp 1 (n n) (a a))
+  (defstrand init 1 (n n) (a a) (b b))
+  (precedes ((1 0) (0 0)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation encryption-test (added-strand init 1) (enc n (privk a))
+    (0 0))
+  (traces ((recv (enc n (privk a))))
+    ((send (enc (enc n (privk a)) (pubk b)))))
+  (label 2)
+  (parent 1)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/ns.tst b/tst/ns.tst
--- a/tst/ns.tst
+++ b/tst/ns.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol ns basic
diff --git a/tst/nsl3.tst b/tst/nsl3.tst
--- a/tst/nsl3.tst
+++ b/tst/nsl3.tst
@@ -1,2143 +1,778 @@
-(comment "CPSA 2.0.4")
-(comment "All input read")
-
-(defprotocol nsl3 basic
-  (defrole init
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace (send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    (uniq-orig na0 na1))
-  (defrole mid
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace (recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    (uniq-orig nb0 nb1))
-  (defrole resp
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace
-      (recv
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    (uniq-orig nc0 nc1)))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1)
-  (traces
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b)))))
-  (label 0)
-  (unrealized (0 1))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 text) (a b c name))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na1) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na1 nb0-0 nb1-0)
-  (operation nonce-test (added-strand mid 2) na1 (0 1)
-    (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-  (traces
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na1 nb0-0 b c (pubk a)) (pubk c)))))
-  (label 1)
-  (parent 0)
-  (seen 3)
-  (unrealized (0 1))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 text) (a b c name))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb0-0 nb1-0)
-  (operation nonce-test (added-strand mid 2) na0 (0 1)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-  (traces
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
-  (label 2)
-  (parent 0)
-  (seen 3 4)
-  (unrealized (0 1))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0 text) (a b c name))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na1) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (defstrand resp 2 (na0 na1) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
-    (nc0 nc0-0) (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na1 nb0-0 nb1-0 nc0-0 nc1-0)
-  (operation nonce-test (added-strand resp 2) na1 (0 1)
-    (enc na1 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1-0 b a (enc na1 a b (pubk c)) (enc na1 nb0-0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na1 nb0-0 b c (pubk a)) (pubk c))))
-    ((recv
-       (enc nb1-0 b a (enc na1 a b (pubk c))
-         (enc na1 nb0-0 b c (pubk a)) (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na1 nb0-0 b c (pubk a))
-          (enc nb1-0 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 3)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0 text)
-    (a b c name))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
-    (nc0 nc0-0) (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb0-0 nb1-0 nc0-0 nc1-0)
-  (operation nonce-test (added-strand resp 2) na0 (0 1)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1-0 b a (enc na1 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
-    ((recv
-       (enc nb1-0 b a (enc na1 a b (pubk c))
-         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
-          (enc nb1-0 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 4)
-  (parent 2)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (defstrand resp 2 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na1 nb0 nb1 nc0 nc1)
-  (operation nonce-test
-    (contracted (nb0-0 nb0) (nb1-0 nb1) (nc0-0 nc0) (nc1-0 nc1)) na1
-    (0 1)
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a))
-    (enc na1 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))))
-  (label 5)
-  (parent 3)
-  (seen 6)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb0 nb1 nc0 nc1)
-  (operation nonce-test
-    (contracted (nb0-0 nb0) (nb1-0 nb1) (nc0-0 nc0) (nc1-0 nc1)) na0
-    (0 1) (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))))
-  (label 6)
-  (parent 4)
-  (unrealized)
-  (shape))
-
-(comment "Nothing left to do")
-
-(defprotocol nsl3 basic
-  (defrole init
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace (send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    (uniq-orig na0 na1))
-  (defrole mid
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace (recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    (uniq-orig nb0 nb1))
-  (defrole resp
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace
-      (recv
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    (uniq-orig nc0 nc1)))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nb0 nb1)
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 7)
-  (seen 8)
-  (unrealized (0 2))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 nc0-0 nc1-0 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nb0 nb1 nc0-0 nc1-0)
-  (operation nonce-test (added-strand resp 2) nb0 (0 2)
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 8)
-  (parent 7)
-  (unrealized (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb1 nc0 nc1 nc0-0 nc1-0 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nb1 nc0-0 nc1-0)
-  (operation nonce-test (added-strand resp 2) nb1 (0 2)
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb1 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb1 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 9)
-  (parent 7)
-  (seen 10)
-  (unrealized (0 2))
-  (comment "4 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb1 nc0 nc1 nc0-0 nc1-0 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((2 0) (0 0)) ((2 2) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb1 nc0-0 nc1-0)
-  (operation nonce-test (added-strand init 3) nb1 (0 2)
-    (enc na1 nc1-0 c b (enc na0 nb1 b c (pubk a))
-      (enc nb1 nc0-0 c a (pubk b)) (pubk a))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb1 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb1 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1-0 c b (enc na0 nb1 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb1 (enc nb1 nc0-0 c a (pubk b)) (enc nc1-0 (pubk c))
-          (pubk b)))))
-  (label 10)
-  (parent 8)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 nc0-0 nc1-0 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((2 0) (0 0)) ((2 2) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb0 nb1 nc0-0 nc1-0)
-  (operation nonce-test (added-strand init 3) nb0 (0 2)
-    (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0-0 c a (pubk b)) (pubk a))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0-0 c a (pubk b)) (enc nc1-0 (pubk c))
-          (pubk b)))))
-  (label 11)
-  (parent 8)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb1 nc0 nc1 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb1) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((2 0) (0 0)) ((2 2) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb1 nc0 nc1)
-  (operation nonce-test (contracted (nc0-0 nc0) (nc1-0 nc1)) nb1 (0 2)
-    (enc na1 nc1 c b (enc na0 nb1 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-      (pubk c))
-    (enc nb1 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b)))
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb1 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb1 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb1 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb1 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb1 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b)))))
-  (label 12)
-  (parent 10)
-  (seen 13)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((2 0) (0 0)) ((2 2) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nb0 nb1 nc0 nc1)
-  (operation nonce-test (contracted (nc0-0 nc0) (nc1-0 nc1)) nb0 (0 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a))
-    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b)))))
-  (label 13)
-  (parent 11)
-  (unrealized)
-  (shape))
-
-(comment "Nothing left to do")
-
-(defprotocol nsl3 basic
-  (defrole init
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace (send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    (uniq-orig na0 na1))
-  (defrole mid
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace (recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    (uniq-orig nb0 nb1))
-  (defrole resp
-    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
-    (trace
-      (recv
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    (uniq-orig nc0 nc1)))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1)
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 14)
-  (seen 15)
-  (unrealized (0 2))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc0 nc1)
-  (operation nonce-test (added-strand init 3) nc0 (0 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b)))))
-  (label 15)
-  (parent 14)
-  (seen 17)
-  (unrealized (0 0) (0 2))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc1)
-  (operation nonce-test (added-strand init 3) nc1 (0 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b)))))
-  (label 16)
-  (parent 14)
-  (seen 19)
-  (unrealized (0 0) (0 2))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc0 nc1 nb0-0 nb1-0)
-  (operation nonce-test (added-strand mid 2) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
-  (label 17)
-  (parent 15)
-  (unrealized (0 0) (0 2))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nb0 nb1 nc0 nc1 nb0-0 nb1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc0 nc1 nb0-0 nb1-0)
-  (operation nonce-test (added-strand mid 2) na0 (0 0)
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na0 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
-  (label 18)
-  (parent 15)
-  (seen 23)
-  (unrealized (0 0) (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc1 nb0-0 nb1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc1 nb0-0 nb1-0)
-  (operation nonce-test (added-strand mid 2) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
-  (label 19)
-  (parent 16)
-  (unrealized (0 0) (0 2))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nb0 nb1 nc1 nb0-0 nb1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc1 nb0-0 nb1-0)
-  (operation nonce-test (added-strand mid 2) na0 (0 0)
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na0 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
-  (label 20)
-  (parent 16)
-  (seen 27)
-  (unrealized (0 0) (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nc0 nc1 nb0 nb1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc0 nc1 nb0 nb1)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))))
-  (label 21)
-  (parent 17)
-  (unrealized (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0 text)
-    (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
-    (nc0 nc0-0) (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0)
-  (operation nonce-test (added-strand resp 2) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1-0 b a (enc na1 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
-    ((recv
-       (enc nb1-0 b a (enc na1 a b (pubk c))
-         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
-          (enc nb1-0 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 22)
-  (parent 17)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nb0 nb1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na0) (nb0 nb0-0) (nb1 nb1-0)
-    (nc0 nc0-0) (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0)
-  (operation nonce-test (added-strand resp 2) na0 (0 0)
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b))
-    (enc nb1-0 b a (enc na0 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na0 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
-    ((recv
-       (enc nb1-0 b a (enc na0 a b (pubk c))
-         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
-      (send
-        (enc na0 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
-          (enc nb1-0 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 23)
-  (parent 17)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nc0 nc1 nb0 nb1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc0 nc1 nb0 nb1)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na0 (0 0)
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))))
-  (label 24)
-  (parent 18)
-  (unrealized (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nc1 nb0 nb1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc1 nb0 nb1)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))))
-  (label 25)
-  (parent 19)
-  (seen 29)
-  (unrealized (0 2))
-  (comment "3 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nb0 nb1 nc1 nb0-0 nb1-0 nc0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
-    (nc0 nc0) (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc1 nb0-0 nb1-0 nc0 nc1-0)
-  (operation nonce-test (added-strand resp 2) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc nb1-0 b a (enc na1 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na1 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
-    ((recv
-       (enc nb1-0 b a (enc na1 a b (pubk c))
-         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
-          (enc nb1-0 nc0 c a (pubk b)) (pubk a)))))
-  (label 26)
-  (parent 19)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nb0 nb1 nc1 nb0-0 nb1-0 nc0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0-0) (nb1 nb1-0) (a a)
-    (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na0) (nb0 nb0-0) (nb1 nb1-0)
-    (nc0 nc0) (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc1 nb0-0 nb1-0 nc0 nc1-0)
-  (operation nonce-test (added-strand resp 2) na0 (0 0)
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b))
-    (enc nb1-0 b a (enc na0 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1-0 b a (enc na0 a b (pubk c))
-          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
-    ((recv
-       (enc nb1-0 b a (enc na0 a b (pubk c))
-         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
-      (send
-        (enc na0 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
-          (enc nb1-0 nc0 c a (pubk b)) (pubk a)))))
-  (label 27)
-  (parent 19)
-  (unrealized (0 0) (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nc1 nb0 nb1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc1 nb0 nb1)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na0 (0 0)
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))))
-  (label 28)
-  (parent 20)
-  (seen 33)
-  (unrealized (0 2))
-  (comment "3 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (2 2)) ((1 0) (2 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 na0 na1)
-  (operation nonce-test (added-strand mid 4) nc1 (0 2)
-    (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 29)
-  (parent 21)
-  (seen 37)
-  (unrealized (2 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (2 2)) ((1 0) (2 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 na0 na1)
-  (operation nonce-test (added-strand mid 4) nc0 (0 2)
-    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 30)
-  (parent 21)
-  (seen 37 38)
-  (unrealized (2 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nc0 nc1 nb0 nb1 nc0-0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc0 nc1 nb0 nb1 nc0-0 nc1-0)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0-0 c a (pubk b)) (pubk a))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 31)
-  (parent 22)
-  (unrealized (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nc0 nc1 nb0 nb1 nc0-0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (defstrand resp 2 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc0 nc1 nb0 nb1 nc0-0 nc1-0)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na0 (0 0)
-    (enc na0 nc1-0 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0-0 c a (pubk b)) (pubk a))
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))))
-  (label 32)
-  (parent 23)
-  (unrealized (0 2))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (2 2)) ((1 0) (2 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 na1)
-  (operation nonce-test (added-strand mid 4) nc1 (0 2)
-    (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 33)
-  (parent 24)
-  (seen 43)
-  (unrealized (2 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (2 2)) ((1 0) (2 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 na1)
-  (operation nonce-test (added-strand mid 4) nc0 (0 2)
-    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 34)
-  (parent 24)
-  (seen 43 44)
-  (unrealized (2 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 na1 nc1 nb0 nb1 nc0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 na1 nc1 nb0 nb1 nc0 nc1-0)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na1 (0 0)
-    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
-    (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a))
-    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))))
-  (label 35)
-  (parent 26)
-  (seen 39)
-  (unrealized (0 2))
-  (comment "3 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (na0 nc1 nb0 nb1 nc0 nc1-0 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 2 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (a a) (b b)
-    (c c))
-  (defstrand resp 2 (na0 na0) (na1 na0) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig na0 nc1 nb0 nb1 nc0 nc1-0)
-  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na0 (0 0)
-    (enc na0 nc1-0 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a))
-    (enc na0 a c (enc na0 a b (pubk c)) (pubk b))
-    (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-      (pubk c)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na0 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na0 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c))))
-    ((recv
-       (enc nb1 b a (enc na0 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na0 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))))
-  (label 36)
-  (parent 27)
-  (seen 41)
-  (unrealized (0 2))
-  (comment "3 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (2 2)) ((2 1) (0 0))
-    ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 na0 na1)
-  (operation nonce-test (added-strand init 3) nc1 (2 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 37)
-  (parent 29)
-  (seen 38)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (2 2)) ((2 1) (0 0))
-    ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 na0 na1)
-  (operation nonce-test (added-strand init 3) nc0 (2 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 38)
-  (parent 30)
-  (unrealized)
-  (shape))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 nc0 nc1-0 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (3 2)) ((1 0) (3 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 nc0 nc1-0 na0 na1)
-  (operation nonce-test (added-strand mid 4) nc1 (0 2)
-    (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 39)
-  (parent 31)
-  (seen 45)
-  (unrealized (3 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (3 2)) ((1 0) (3 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1)
-  (operation nonce-test (added-strand mid 4) nc0 (0 2)
-    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 40)
-  (parent 31)
-  (seen 45 46)
-  (unrealized (3 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 nc0 nc1-0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (3 2)) ((1 0) (3 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 nc0 nc1-0 na1)
-  (operation nonce-test (added-strand mid 4) nc1 (0 2)
-    (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 41)
-  (parent 32)
-  (seen 47)
-  (unrealized (3 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 nc0-0 nc1-0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((0 1) (3 2)) ((1 0) (3 0)) ((1 2) (0 2))
-    ((2 1) (0 0)) ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 nc0-0 nc1-0 na1)
-  (operation nonce-test (added-strand mid 4) nc0 (0 2)
-    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 42)
-  (parent 32)
-  (seen 47 48)
-  (unrealized (3 2))
-  (comment "5 in cohort - 1 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (2 2)) ((2 1) (0 0))
-    ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 na1)
-  (operation nonce-test (added-strand init 3) nc1 (2 2)
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 43)
-  (parent 33)
-  (seen 44)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (2 2)) ((2 1) (0 0))
-    ((2 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 na1)
-  (operation nonce-test (added-strand init 3) nc0 (2 2)
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 44)
-  (parent 34)
-  (seen 38)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 nc0 nc1-0 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (3 0)) ((1 2) (3 2)) ((2 1) (0 0))
-    ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 nc0 nc1-0 na0 na1)
-  (operation nonce-test (added-strand init 3) nc1 (3 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 45)
-  (parent 39)
-  (seen 37)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (3 0)) ((1 2) (3 2)) ((2 1) (0 0))
-    ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1)
-  (operation nonce-test (added-strand init 3) nc0 (3 2)
-    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
-    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 46)
-  (parent 40)
-  (seen 38)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc1 nb0 nb1 nc0 nc1-0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc1)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (3 0)) ((1 2) (3 2)) ((2 1) (0 0))
-    ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc1 nb0 nb1 nc0 nc1-0 na1)
-  (operation nonce-test (added-strand init 3) nc1 (3 2)
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc1 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (recv (enc nc1 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc1 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc1 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc1 (enc nc1 (pubk c)) (pubk c)))))
-  (label 47)
-  (parent 41)
-  (seen 43)
-  (unrealized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton nsl3
-  (vars (nc0 nc1 nb0 nb1 nc0-0 nc1-0 na1 text) (a b c name))
-  (defstrand resp 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand init 3 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (defstrand resp 2 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
-    (nc1 nc1-0) (a a) (b b) (c c))
-  (defstrand mid 4 (na0 na1) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
-    (nc1 nc1) (a a) (b b) (c c))
-  (precedes ((0 1) (1 1)) ((1 0) (3 0)) ((1 2) (3 2)) ((2 1) (0 0))
-    ((3 1) (2 0)) ((3 3) (0 2)))
-  (non-orig (privk a) (privk b) (privk c))
-  (uniq-orig nc0 nc1 nb0 nb1 nc0-0 nc1-0 na1)
-  (operation nonce-test (added-strand init 3) nc0 (3 2)
-    (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-      (enc nb1 nc0 c a (pubk b)) (pubk a)))
-  (traces
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
-    ((send (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (recv
-        (enc na1 nc1 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0 c a (pubk b)) (pubk a)))
-      (send
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))))
-    ((recv
-       (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-         (pubk c)))
-      (send
-        (enc na1 nc1-0 c b (enc na1 nb0 b c (pubk a))
-          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
-    ((recv (enc na1 a c (enc na1 a b (pubk c)) (pubk b)))
-      (send
-        (enc nb1 b a (enc na1 a b (pubk c)) (enc na1 nb0 b c (pubk a))
-          (pubk c)))
-      (recv
-        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
-          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
-  (label 48)
-  (parent 42)
-  (seen 44)
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol nsl3 basic
+  (defrole init
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace (send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    (uniq-orig na0 na1))
+  (defrole mid
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace (recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    (uniq-orig nb0 nb1))
+  (defrole resp
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace
+      (recv
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    (uniq-orig nc0 nc1)))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1)
+  (traces
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b)))))
+  (label 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 text) (a b c name))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
+    (b b) (c c))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nb0-0 nb1-0)
+  (operation nonce-test (added-strand mid 2) na0 (0 1)
+    (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+  (traces
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1-0 b a (enc na1 a b (pubk c))
+          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0 text)
+    (a b c name))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
+    (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
+    (nc0 nc0-0) (nc1 nc1-0) (a a) (b b) (c c))
+  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nb0-0 nb1-0 nc0-0 nc1-0)
+  (operation nonce-test (added-strand resp 2) na0 (0 1)
+    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
+    (enc nb1-0 b a (enc na1 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1-0 b a (enc na1 a b (pubk c))
+          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
+    ((recv
+       (enc nb1-0 b a (enc na1 a b (pubk c))
+         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
+          (enc nb1-0 nc0-0 c a (pubk b)) (pubk a)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
+    (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 0) (1 0)) ((1 1) (2 0)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nb0 nb1 nc0 nc1)
+  (operation nonce-test
+    (contracted (nb0-0 nb0) (nb1-0 nb1) (nc0-0 nc0) (nc1-0 nc1)) na0
+    (0 1) (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a))
+    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))))
+  (label 3)
+  (parent 2)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol nsl3 basic
+  (defrole init
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace (send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    (uniq-orig na0 na1))
+  (defrole mid
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace (recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    (uniq-orig nb0 nb1))
+  (defrole resp
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace
+      (recv
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    (uniq-orig nc0 nc1)))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nb0 nb1)
+  (traces
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
+  (label 4)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 nc0-0 nc1-0 text) (a b c name))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
+    (nc1 nc1-0) (a a) (b b) (c c))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nb0 nb1 nc0-0 nc1-0)
+  (operation nonce-test (added-strand resp 2) nb0 (0 2)
+    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))))
+  (label 5)
+  (parent 4)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 nc0-0 nc1-0 text) (a b c name))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
+    (nc1 nc1-0) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
+    (nc1 nc1-0) (a a) (b b) (c c))
+  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((2 0) (0 0)) ((2 2) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nb0 nb1 nc0-0 nc1-0)
+  (operation nonce-test (added-strand init 3) nb0 (0 2)
+    (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0-0 c a (pubk b)) (pubk a))
+    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0-0 c a (pubk b)) (enc nc1-0 (pubk c))
+          (pubk b)))))
+  (label 6)
+  (parent 5)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 1) (1 0)) ((1 1) (2 1)) ((2 0) (0 0)) ((2 2) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nb0 nb1 nc0 nc1)
+  (operation nonce-test (contracted (nc0-0 nc0) (nc1-0 nc1)) nb0 (0 2)
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a))
+    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
+    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b)))))
+  (label 7)
+  (parent 6)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol nsl3 basic
+  (defrole init
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace (send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    (uniq-orig na0 na1))
+  (defrole mid
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace (recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    (uniq-orig nb0 nb1))
+  (defrole resp
+    (vars (a b c name) (na0 na1 nb0 nb1 nc0 nc1 text))
+    (trace
+      (recv
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    (uniq-orig nc0 nc1)))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nc0 nc1)
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
+  (label 8)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nc0 nc1)
+  (operation nonce-test (added-strand init 3) nc0 (0 2)
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b)))))
+  (label 9)
+  (parent 8)
+  (unrealized (0 0) (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
+    (b b) (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nc0 nc1 nb0-0 nb1-0)
+  (operation nonce-test (added-strand mid 2) na1 (0 0)
+    (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1-0 b a (enc na1 a b (pubk c))
+          (enc na0 nb0-0 b c (pubk a)) (pubk c)))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 0) (0 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nc0 nc1 nb0 nb1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
+    (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (0 0)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nc0 nc1 nb0 nb1)
+  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na1 (0 0)
+    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
+    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nb0 nb1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0 text)
+    (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0) (a a)
+    (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
+    (nc0 nc0-0) (nc1 nc1-0) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
+    ((3 1) (0 0)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nc0 nc1 nb0-0 nb1-0 nc0-0 nc1-0)
+  (operation nonce-test (added-strand resp 2) na1 (0 0)
+    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
+    (enc nb1-0 b a (enc na1 a b (pubk c)) (enc na0 nb0-0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1-0 b a (enc na1 a b (pubk c))
+          (enc na0 nb0-0 b c (pubk a)) (pubk c))))
+    ((recv
+       (enc nb1-0 b a (enc na1 a b (pubk c))
+         (enc na0 nb0-0 b c (pubk a)) (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0-0 b c (pubk a))
+          (enc nb1-0 nc0-0 c a (pubk b)) (pubk a)))))
+  (label 12)
+  (parent 10)
+  (unrealized (0 0) (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (nc0 nc1 nb0 nb1 na0 na1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((0 1) (2 2)) ((1 0) (2 0)) ((1 2) (0 2))
+    ((2 1) (0 0)) ((2 3) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nc0 nc1 nb0 nb1 na0 na1)
+  (operation nonce-test (added-strand mid 4) nc0 (0 2)
+    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
+  (label 13)
+  (parent 11)
+  (unrealized (2 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (na0 na1 nc0 nc1 nb0 nb1 nc0-0 nc1-0 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (a a) (b b)
+    (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
+    (nc1 nc1-0) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (0 2)) ((2 1) (3 0))
+    ((3 1) (0 0)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig na0 na1 nc0 nc1 nb0 nb1 nc0-0 nc1-0)
+  (operation nonce-test (contracted (nb0-0 nb0) (nb1-0 nb1)) na1 (0 0)
+    (enc na0 a c (enc na1 a b (pubk c)) (pubk b))
+    (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0-0 c a (pubk b)) (pubk a))
+    (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+      (pubk c)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0-0 c a (pubk b)) (pubk a)))))
+  (label 14)
+  (parent 12)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (nc0 nc1 nb0 nb1 na0 na1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (2 0)) ((1 2) (2 2)) ((2 1) (0 0))
+    ((2 3) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nc0 nc1 nb0 nb1 na0 na1)
+  (operation nonce-test (added-strand init 3) nc0 (2 2)
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
+  (label 15)
+  (parent 13)
+  (unrealized)
+  (shape))
+
+(defskeleton nsl3
+  (vars (nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
+    (nc1 nc1-0) (a a) (b b) (c c))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((0 1) (3 2)) ((1 0) (3 0)) ((1 2) (0 2))
+    ((2 1) (0 0)) ((3 1) (2 0)) ((3 3) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1)
+  (operation nonce-test (added-strand mid 4) nc0 (0 2)
+    (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c)) (pubk b))
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
+  (label 16)
+  (parent 14)
+  (unrealized (3 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl3
+  (vars (nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1 text) (a b c name))
+  (defstrand resp 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand init 3 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (defstrand resp 2 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0-0)
+    (nc1 nc1-0) (a a) (b b) (c c))
+  (defstrand mid 4 (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1) (nc0 nc0)
+    (nc1 nc1) (a a) (b b) (c c))
+  (precedes ((0 1) (1 1)) ((1 0) (3 0)) ((1 2) (3 2)) ((2 1) (0 0))
+    ((3 1) (2 0)) ((3 3) (0 2)))
+  (non-orig (privk a) (privk b) (privk c))
+  (uniq-orig nc0 nc1 nb0 nb1 nc0-0 nc1-0 na0 na1)
+  (operation nonce-test (added-strand init 3) nc0 (3 2)
+    (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+      (enc nb1 nc0 c a (pubk b)) (pubk a)))
+  (traces
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (recv (enc nc0 (enc nc1 (pubk c)) (pubk c))))
+    ((send (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (recv
+        (enc na1 nc1 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0 c a (pubk b)) (pubk a)))
+      (send
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))))
+    ((recv
+       (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+         (pubk c)))
+      (send
+        (enc na1 nc1-0 c b (enc na0 nb0 b c (pubk a))
+          (enc nb1 nc0-0 c a (pubk b)) (pubk a))))
+    ((recv (enc na0 a c (enc na1 a b (pubk c)) (pubk b)))
+      (send
+        (enc nb1 b a (enc na1 a b (pubk c)) (enc na0 nb0 b c (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb0 (enc nb1 nc0 c a (pubk b)) (enc nc1 (pubk c))
+          (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
+  (label 17)
+  (parent 16)
+  (seen 15)
   (unrealized)
   (comment "1 in cohort - 0 not yet seen"))
 
diff --git a/tst/nsl4cm1.tst b/tst/nsl4cm1.tst
--- a/tst/nsl4cm1.tst
+++ b/tst/nsl4cm1.tst
@@ -1,8318 +1,624 @@
-(comment "CPSA 2.0.4")
-(comment "All input read")
-
-(defprotocol nsl4cm basic
-  (defrole init
-    (vars (a b c d name) (na nb nc nd text))
-    (trace (send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b)))))
-  (defrole resp1
-    (vars (a b c d name) (na nb nc nd text))
-    (trace (recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb (pubk c))) (recv (enc nb nc nd (pubk b)))
-      (send (enc nc nd (pubk c)))))
-  (defrole resp2
-    (vars (a b c d name) (na nb nc nd text))
-    (trace (recv (enc a b d na nb (pubk c)))
-      (send (enc a b c na nb nc (pubk d))) (recv (enc nc nd (pubk c)))
-      (send (enc nd (pubk d)))))
-  (defrole resp3
-    (vars (a b c d name) (na nb nc nd text))
-    (trace (recv (enc a b c na nb nc (pubk d)))
-      (send (enc b c d na nb nc nd (pubk a)))
-      (recv (enc nd (pubk d))))))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b)))))
-  (label 0)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp1 2) na (0 1)
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-0 (pubk c)))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 2)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d)))))
-  (label 3)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp2 2) na (0 1)
-    (enc a b d na nb-0 (pubk c)) (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d)))))
-  (label 4)
-  (parent 1)
-  (unrealized (0 1) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (2 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 5)
-  (parent 2)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (2 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 6)
-  (parent 3)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp1 2) na (2 0)
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-1 (pubk c)))))
-  (label 7)
-  (parent 4)
-  (unrealized (0 1) (2 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (2 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 8)
-  (parent 5)
-  (seen 20 21)
-  (unrealized (0 1))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 9)
-  (parent 5)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d)))))
-  (label 10)
-  (parent 5)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d)))))
-  (label 11)
-  (parent 5)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (2 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 12)
-  (parent 6)
-  (seen 20 21 27)
-  (unrealized (0 1))
-  (comment "8 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 13)
-  (parent 6)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 14)
-  (parent 6)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 15)
-  (parent 6)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (contracted (nb-1 nb-0)) na (2 0)
-    (enc a b d na nb-0 (pubk c)) (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-0 (pubk c)))))
-  (label 16)
-  (parent 7)
-  (seen 20 26 27)
-  (unrealized (0 1))
-  (comment "6 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (2 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 17)
-  (parent 7)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (2 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d)))))
-  (label 18)
-  (parent 7)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp2 2) na (2 0)
-    (enc a b d na nb-1 (pubk c)) (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d)))))
-  (label 19)
-  (parent 7)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a)))))
-  (label 20)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a)))))
-  (label 21)
-  (parent 8)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 22)
-  (parent 9)
-  (unrealized (0 1) (3 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 23)
-  (parent 10)
-  (unrealized (0 1) (3 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 24)
-  (parent 11)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c)))))
-  (label 25)
-  (parent 12)
-  (seen 20 21 53)
-  (unrealized (0 1))
-  (comment "8 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 26)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 27)
-  (parent 12)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 28)
-  (parent 13)
-  (unrealized (0 1) (3 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 29)
-  (parent 14)
-  (unrealized (0 1) (3 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 30)
-  (parent 15)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp3 2) nc-0 (0 1)
-    (enc a b c nc-0 nb-0 nc-0 (pubk d)) (enc a b d nc-0 nb-0 (pubk c))
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nb-0 (pubk a)))))
-  (label 31)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp3 2) nc-0 (0 1)
-    (enc a b c nc-0 nb-0 nc-0 (pubk d)) (enc a b d nc-0 nb-0 (pubk c))
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 32)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp3 2) na (0 1)
-    (enc a b c na nb-0 nc-0 (pubk d)) (enc a b d na nb-0 (pubk c))
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
-      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a)))))
-  (label 33)
-  (parent 16)
-  (unrealized (0 1) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (4 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 34)
-  (parent 17)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (4 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 35)
-  (parent 18)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp1 2) na (4 0)
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-2 (pubk c)))))
-  (label 36)
-  (parent 19)
-  (unrealized (0 1) (2 0) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 37)
-  (parent 20)
-  (unrealized (0 1) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 38)
-  (parent 21)
-  (unrealized (0 1) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 39)
-  (parent 22)
-  (seen 89 90)
-  (unrealized (0 1))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 40)
-  (parent 22)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d)))))
-  (label 41)
-  (parent 22)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d)))))
-  (label 42)
-  (parent 22)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 43)
-  (parent 23)
-  (seen 95 96 97 98)
-  (unrealized (0 1))
-  (comment "10 in cohort - 5 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 44)
-  (parent 23)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 45)
-  (parent 23)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 46)
-  (parent 23)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-0 (4 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 47)
-  (parent 24)
-  (seen 43)
-  (unrealized (0 1) (2 0))
-  (comment "8 in cohort - 6 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 48)
-  (parent 24)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d)))))
-  (label 49)
-  (parent 24)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 nb-2 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-2) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-2 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c))))
-    ((recv (enc a b d nb-0 nb-2 (pubk c)))
-      (send (enc a b c nb-0 nb-2 nc-1 (pubk d)))))
-  (label 50)
-  (parent 24)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 51)
-  (parent 25)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nc-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b d nb-0 nc-0 (pubk c)))
-      (send (enc a b c nb-0 nc-0 nc-1 (pubk d)))))
-  (label 52)
-  (parent 25)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 53)
-  (parent 25)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 54)
-  (parent 26)
-  (unrealized (0 1) (3 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (3 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 55)
-  (parent 27)
-  (unrealized (0 1) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 56)
-  (parent 28)
-  (seen 122 123 124 125)
-  (unrealized (0 1))
-  (comment "10 in cohort - 5 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 57)
-  (parent 28)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 58)
-  (parent 28)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 59)
-  (parent 28)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 60)
-  (parent 29)
-  (seen 95 96 97 122 123 124 132 133)
-  (unrealized (0 1))
-  (comment "19 in cohort - 5 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 61)
-  (parent 29)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-2 (pubk d)))))
-  (label 62)
-  (parent 29)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-2 (pubk d)))))
-  (label 63)
-  (parent 29)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-0 (4 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 64)
-  (parent 30)
-  (seen 60)
-  (unrealized (0 1) (2 0))
-  (comment "8 in cohort - 6 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 65)
-  (parent 30)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-2 (pubk d)))))
-  (label 66)
-  (parent 30)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-2 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c))))
-    ((recv (enc a b d nb-0 nb-2 (pubk c)))
-      (send (enc a b c nb-0 nb-2 nc-2 (pubk d)))))
-  (label 67)
-  (parent 30)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp1 2) nc-0 (3 0)
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nb-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-1 (pubk c)))))
-  (label 68)
-  (parent 31)
-  (unrealized (0 1) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp1 2) nc-0 (3 0)
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-1 (pubk c)))))
-  (label 69)
-  (parent 32)
-  (unrealized (0 1) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp1 2) na (3 0)
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
-      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-1 (pubk c)))))
-  (label 70)
-  (parent 33)
-  (unrealized (0 1) (3 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c)))))
-  (label 71)
-  (parent 34)
-  (seen 56 155 156)
-  (unrealized (0 1) (2 0))
-  (comment "6 in cohort - 2 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 72)
-  (parent 34)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d)))))
-  (label 73)
-  (parent 34)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nb-2 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-2) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-2 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c))))
-    ((recv (enc a b d nb-1 nb-2 (pubk c)))
-      (send (enc a b c nb-1 nb-2 nc-1 (pubk d)))))
-  (label 74)
-  (parent 34)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c)))))
-  (label 75)
-  (parent 35)
-  (seen 60 155 156 162)
-  (unrealized (0 1) (2 0))
-  (comment "9 in cohort - 3 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 76)
-  (parent 35)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-2 (pubk d)))))
-  (label 77)
-  (parent 35)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (4 0)
-    (enc a b d nb-1 nb-2 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c))))
-    ((recv (enc a b d nb-1 nb-2 (pubk c)))
-      (send (enc a b c nb-1 nb-2 nc-2 (pubk d)))))
-  (label 78)
-  (parent 35)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (2 0)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (contracted (nb-2 nb-1)) na (4 0)
-    (enc a b d na nb-1 (pubk c)) (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-1 (pubk c)))))
-  (label 79)
-  (parent 36)
-  (seen 155 161 162)
-  (unrealized (0 1) (2 0))
-  (comment "7 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-2) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-2) (nc nb-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-2)
-  (operation nonce-test (added-strand resp2 2) nb-2 (4 0)
-    (enc a b d nb-2 nb-2 (pubk c)) (enc a c d nb-2 (pubk b)))
-  (traces
-    ((send (enc a c d nb-2 (pubk b)))
-      (recv (enc b c d nb-2 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-0 (pubk c))))
-    ((recv (enc a b d nb-2 nb-0 (pubk c)))
-      (send (enc a b c nb-2 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-1 (pubk c))))
-    ((recv (enc a b d nb-2 nb-1 (pubk c)))
-      (send (enc a b c nb-2 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-2 (pubk c))))
-    ((recv (enc a b d nb-2 nb-2 (pubk c)))
-      (send (enc a b c nb-2 nb-2 nb-2 (pubk d)))))
-  (label 80)
-  (parent 36)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-2) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-2)
-  (operation nonce-test (added-strand resp2 2) nb-2 (4 0)
-    (enc a b d nb-2 nb-2 (pubk c)) (enc a c d nb-2 (pubk b)))
-  (traces
-    ((send (enc a c d nb-2 (pubk b)))
-      (recv (enc b c d nb-2 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-0 (pubk c))))
-    ((recv (enc a b d nb-2 nb-0 (pubk c)))
-      (send (enc a b c nb-2 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-1 (pubk c))))
-    ((recv (enc a b d nb-2 nb-1 (pubk c)))
-      (send (enc a b c nb-2 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-2 (pubk c))))
-    ((recv (enc a b d nb-2 nb-2 (pubk c)))
-      (send (enc a b c nb-2 nb-2 nc-2 (pubk d)))))
-  (label 81)
-  (parent 36)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp2 2) na (4 0)
-    (enc a b d na nb-2 (pubk c)) (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-2 (pubk c))))
-    ((recv (enc a b d na nb-2 (pubk c)))
-      (send (enc a b c na nb-2 nc-2 (pubk d)))))
-  (label 82)
-  (parent 36)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 83)
-  (parent 37)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d)))))
-  (label 84)
-  (parent 37)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d)))))
-  (label 85)
-  (parent 37)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nd-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 86)
-  (parent 38)
-  (unrealized (0 1) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nd-0 nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d)))))
-  (label 87)
-  (parent 38)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d)))))
-  (label 88)
-  (parent 38)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a)))))
-  (label 89)
-  (parent 39)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a)))))
-  (label 90)
-  (parent 39)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 91)
-  (parent 40)
-  (unrealized (0 1) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 92)
-  (parent 41)
-  (unrealized (0 1) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 93)
-  (parent 42)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c)))))
-  (label 94)
-  (parent 43)
-  (seen 194 195 196 197)
-  (unrealized (0 1))
-  (comment "10 in cohort - 5 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a)))))
-  (label 95)
-  (parent 43)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nc-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nc-0 (pubk a)))))
-  (label 96)
-  (parent 43)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a)))))
-  (label 97)
-  (parent 43)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 98)
-  (parent 43)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 99)
-  (parent 44)
-  (unrealized (0 1) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 100)
-  (parent 45)
-  (unrealized (0 1) (4 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 101)
-  (parent 46)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 102)
-  (parent 47)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp3 2) nc-0 (2 0)
-    (enc a b c nc-0 nb-0 nc-0 (pubk d)) (enc a b d nc-0 nb-0 (pubk c))
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nc-0 (pubk c))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nb-0 (pubk a)))))
-  (label 103)
-  (parent 47)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nc-0) (nc nc-0) (nd nc-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp3 2) nc-0 (2 0)
-    (enc a b c nc-0 nc-0 nc-0 (pubk d)) (enc a b d nc-0 nc-0 (pubk c))
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nc-0 (pubk c))))
-    ((recv (enc a b c nc-0 nc-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nc-0 nc-0 nc-0 (pubk a)))))
-  (label 104)
-  (parent 47)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp3 2) nc-0 (2 0)
-    (enc a b c nc-0 nb-0 nc-0 (pubk d)) (enc a b d nc-0 nb-0 (pubk c))
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nc-0 (pubk c))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 105)
-  (parent 47)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (2 0)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 106)
-  (parent 47)
-  (unrealized (0 1) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-1) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (2 0)
-    (enc a b c nb-0 nb-1 nc-0 (pubk d)) (enc a b d nb-0 nb-1 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b c nb-0 nb-1 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-1 nc-0 nd-0 (pubk a)))))
-  (label 107)
-  (parent 47)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 108)
-  (parent 48)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 109)
-  (parent 49)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(comment "Strand bound exceeded--aborting run")
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 nb-2 nc-1 nb-3 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-2) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (6 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c))))
-    ((recv (enc a b d nb-0 nb-2 (pubk c)))
-      (send (enc a b c nb-0 nb-2 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-3 (pubk c)))))
-  (label 110)
-  (parent 50)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 111)
-  (parent 51)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nc-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b d nb-0 nc-0 (pubk c)))
-      (send (enc a b c nb-0 nc-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 112)
-  (parent 52)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 113)
-  (parent 53)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)) ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 114)
-  (parent 54)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 115)
-  (parent 54)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 116)
-  (parent 54)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 117)
-  (parent 54)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nd-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 118)
-  (parent 55)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nd-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 119)
-  (parent 55)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (3 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 120)
-  (parent 55)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c)))))
-  (label 121)
-  (parent 56)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a)))))
-  (label 122)
-  (parent 56)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nc-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nc-0 (pubk a)))))
-  (label 123)
-  (parent 56)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a)))))
-  (label 124)
-  (parent 56)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 125)
-  (parent 56)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 126)
-  (parent 57)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 127)
-  (parent 58)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 128)
-  (parent 59)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-1 (pubk c)))))
-  (label 129)
-  (parent 60)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c)))))
-  (label 130)
-  (parent 60)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 131)
-  (parent 60)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 132)
-  (parent 60)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-1 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-1 nd-0 (pubk a)))))
-  (label 133)
-  (parent 60)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 134)
-  (parent 61)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nc-2 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-2 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 135)
-  (parent 62)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nc-2 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-2 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 136)
-  (parent 63)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (2 0)
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 137)
-  (parent 64)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nc-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nc-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-1) (nb nc-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-1) (nb nb-0) (nc nc-1) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-1)
-  (operation nonce-test (added-strand resp3 2) nc-1 (2 0)
-    (enc a b c nc-1 nb-0 nc-1 (pubk d)) (enc a b d nc-1 nb-0 (pubk c))
-    (enc a c d nc-1 (pubk b)))
-  (traces
-    ((send (enc a c d nc-1 (pubk b)))
-      (recv (enc b c d nc-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nc-1 (pubk c))))
-    ((recv (enc a b d nc-1 nc-1 (pubk c)))
-      (send (enc a b c nc-1 nc-1 nc-0 (pubk d))))
-    ((recv (enc a b d nc-1 nb-0 (pubk c)))
-      (send (enc a b c nc-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nb-0 (pubk c))))
-    ((recv (enc a b c nc-1 nb-0 nc-1 (pubk d)))
-      (send (enc b c d nc-1 nb-0 nc-1 nb-0 (pubk a)))))
-  (label 138)
-  (parent 64)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nc-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-1) (nb nc-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-1) (nb nc-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nc-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-1) (nb nc-1) (nc nc-1) (nd nc-1) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-1)
-  (operation nonce-test (added-strand resp3 2) nc-1 (2 0)
-    (enc a b c nc-1 nc-1 nc-1 (pubk d)) (enc a b d nc-1 nc-1 (pubk c))
-    (enc a c d nc-1 (pubk b)))
-  (traces
-    ((send (enc a c d nc-1 (pubk b)))
-      (recv (enc b c d nc-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-1 nc-1 (pubk c)))
-      (send (enc a b c nc-1 nc-1 nc-0 (pubk d))))
-    ((recv (enc a b d nc-1 nc-1 (pubk c)))
-      (send (enc a b c nc-1 nc-1 nc-1 (pubk d))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nc-1 (pubk c))))
-    ((recv (enc a b c nc-1 nc-1 nc-1 (pubk d)))
-      (send (enc b c d nc-1 nc-1 nc-1 nc-1 (pubk a)))))
-  (label 139)
-  (parent 64)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nc-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nc-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-1) (nb nc-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-1) (nb nb-0) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-1)
-  (operation nonce-test (added-strand resp3 2) nc-1 (2 0)
-    (enc a b c nc-1 nb-0 nc-1 (pubk d)) (enc a b d nc-1 nb-0 (pubk c))
-    (enc a c d nc-1 (pubk b)))
-  (traces
-    ((send (enc a c d nc-1 (pubk b)))
-      (recv (enc b c d nc-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nc-1 (pubk c))))
-    ((recv (enc a b d nc-1 nc-1 (pubk c)))
-      (send (enc a b c nc-1 nc-1 nc-0 (pubk d))))
-    ((recv (enc a b d nc-1 nb-0 (pubk c)))
-      (send (enc a b c nc-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nb-0 (pubk c))))
-    ((recv (enc a b c nc-1 nb-0 nc-1 (pubk d)))
-      (send (enc b c d nc-1 nb-0 nc-1 nd-0 (pubk a)))))
-  (label 140)
-  (parent 64)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (2 0)
-    (enc a b c nb-0 nb-0 nc-1 (pubk d)) (enc a b d nb-0 nb-0 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-1 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-1 nd-0 (pubk a)))))
-  (label 141)
-  (parent 64)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-1) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (2 0)
-    (enc a b c nb-0 nb-1 nc-1 (pubk d)) (enc a b d nb-0 nb-1 (pubk c))
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b c nb-0 nb-1 nc-1 (pubk d)))
-      (send (enc b c d nb-0 nb-1 nc-1 nd-0 (pubk a)))))
-  (label 142)
-  (parent 64)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 143)
-  (parent 65)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nc-2 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-2 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 144)
-  (parent 66)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 nb-3 text)
-    (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (6 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c))))
-    ((recv (enc a b d nb-0 nb-2 (pubk c)))
-      (send (enc a b c nb-0 nb-2 nc-2 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-3 (pubk c)))))
-  (label 145)
-  (parent 67)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-0) (nc nb-1) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (3 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b c nb-1 nb-0 nb-1 (pubk d)))
-      (send (enc b c d nb-1 nb-0 nb-1 nb-0 (pubk a))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 146)
-  (parent 68)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-0) (nc nb-1) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (3 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b c nb-1 nb-0 nb-1 (pubk d)))
-      (send (enc b c d nb-1 nb-0 nb-1 nb-0 (pubk a))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d)))))
-  (label 147)
-  (parent 68)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp2 2) nc-0 (3 0)
-    (enc a b d nc-0 nb-1 (pubk c)) (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nb-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-1 (pubk c))))
-    ((recv (enc a b d nc-0 nb-1 (pubk c)))
-      (send (enc a b c nc-0 nb-1 nc-1 (pubk d)))))
-  (label 148)
-  (parent 68)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-0) (nc nb-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (3 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b c nb-1 nb-0 nb-1 (pubk d)))
-      (send (enc b c d nb-1 nb-0 nb-1 nd-0 (pubk a))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 149)
-  (parent 69)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-0) (nc nb-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (3 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b c nb-1 nb-0 nb-1 (pubk d)))
-      (send (enc b c d nb-1 nb-0 nb-1 nd-0 (pubk a))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d)))))
-  (label 150)
-  (parent 69)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp2 2) nc-0 (3 0)
-    (enc a b d nc-0 nb-1 (pubk c)) (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-1 (pubk c))))
-    ((recv (enc a b d nc-0 nb-1 (pubk c)))
-      (send (enc a b c nc-0 nb-1 nc-1 (pubk d)))))
-  (label 151)
-  (parent 69)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (3 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b c nb-1 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-1 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 152)
-  (parent 70)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (3 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b c nb-1 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-1 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d)))))
-  (label 153)
-  (parent 70)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nc-0 nb-0 nd-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp2 2) na (3 0)
-    (enc a b d na nb-1 (pubk c)) (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
-      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d)))))
-  (label 154)
-  (parent 70)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-1) (nc nb-1) (nd nb-1) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp3 2) nb-1 (2 0)
-    (enc a b c nb-1 nb-1 nb-1 (pubk d)) (enc a b d nb-1 nb-1 (pubk c))
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b c nb-1 nb-1 nb-1 (pubk d)))
-      (send (enc b c d nb-1 nb-1 nb-1 nb-1 (pubk a)))))
-  (label 155)
-  (parent 71)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-1) (nc nb-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp3 2) nb-1 (2 0)
-    (enc a b c nb-1 nb-1 nb-1 (pubk d)) (enc a b d nb-1 nb-1 (pubk c))
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b c nb-1 nb-1 nb-1 (pubk d)))
-      (send (enc b c d nb-1 nb-1 nb-1 nd-0 (pubk a)))))
-  (label 156)
-  (parent 71)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 157)
-  (parent 72)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 158)
-  (parent 73)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nb-2 nc-1 nb-3 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-2) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (6 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c))))
-    ((recv (enc a b d nb-1 nb-2 (pubk c)))
-      (send (enc a b c nb-1 nb-2 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-3 (pubk c)))))
-  (label 159)
-  (parent 74)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-1) (nb nc-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (2 0)
-    (enc a b c nb-1 nb-1 nc-1 (pubk d)) (enc a b d nb-1 nb-1 (pubk c))
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nc-1 (pubk c)))))
-  (label 160)
-  (parent 75)
-  (unrealized (0 1) (2 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (2 0)
-    (enc a b c nb-1 nb-1 nc-1 (pubk d)) (enc a b d nb-1 nb-1 (pubk c))
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 161)
-  (parent 75)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-1) (nb nb-1) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp3 2) nb-1 (2 0)
-    (enc a b c nb-1 nb-1 nc-1 (pubk d)) (enc a b d nb-1 nb-1 (pubk c))
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b c nb-1 nb-1 nc-1 (pubk d)))
-      (send (enc b c d nb-1 nb-1 nc-1 nd-0 (pubk a)))))
-  (label 162)
-  (parent 75)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 163)
-  (parent 76)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nc-2 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (5 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-2 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c)))))
-  (label 164)
-  (parent 77)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 nb-3 text)
-    (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp1 2) nb-1 (6 0)
-    (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c))))
-    ((recv (enc a b d nb-1 nb-2 (pubk c)))
-      (send (enc a b c nb-1 nb-2 nc-2 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-3 (pubk c)))))
-  (label 165)
-  (parent 78)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (contracted (nb-1 nb-0)) na (2 0)
-    (enc a b c na nb-0 nc-1 (pubk d)) (enc a b d na nb-0 (pubk c))
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-0 (pubk c)))))
-  (label 166)
-  (parent 79)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nc-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-1) (nb nb-1) (nc nc-1) (nd nb-1) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-1)
-  (operation nonce-test (added-strand resp3 2) nc-1 (2 0)
-    (enc a b c nc-1 nb-1 nc-1 (pubk d)) (enc a b d nc-1 nb-1 (pubk c))
-    (enc a c d nc-1 (pubk b)))
-  (traces
-    ((send (enc a c d nc-1 (pubk b)))
-      (recv (enc b c d nc-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nb-0 (pubk c))))
-    ((recv (enc a b d nc-1 nb-0 (pubk c)))
-      (send (enc a b c nc-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-1 nb-1 (pubk c)))
-      (send (enc a b c nc-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nb-1 (pubk c))))
-    ((recv (enc a b c nc-1 nb-1 nc-1 (pubk d)))
-      (send (enc b c d nc-1 nb-1 nc-1 nb-1 (pubk a)))))
-  (label 167)
-  (parent 79)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nc-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-1) (nb nb-1) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-1)
-  (operation nonce-test (added-strand resp3 2) nc-1 (2 0)
-    (enc a b c nc-1 nb-1 nc-1 (pubk d)) (enc a b d nc-1 nb-1 (pubk c))
-    (enc a c d nc-1 (pubk b)))
-  (traces
-    ((send (enc a c d nc-1 (pubk b)))
-      (recv (enc b c d nc-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nb-0 (pubk c))))
-    ((recv (enc a b d nc-1 nb-0 (pubk c)))
-      (send (enc a b c nc-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-1 nb-1 (pubk c)))
-      (send (enc a b c nc-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nc-1 (pubk b)))
-      (send (enc a b d nc-1 nb-1 (pubk c))))
-    ((recv (enc a b c nc-1 nb-1 nc-1 (pubk d)))
-      (send (enc b c d nc-1 nb-1 nc-1 nd-0 (pubk a)))))
-  (label 168)
-  (parent 79)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nc-1 nb-1 nd-0 text) (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na na) (nb nb-1) (nc nc-1) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp3 2) na (2 0)
-    (enc a b c na nb-1 nc-1 (pubk d)) (enc a b d na nb-1 (pubk c))
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
-    ((recv (enc a b c na nb-1 nc-1 (pubk d)))
-      (send (enc b c d na nb-1 nc-1 nd-0 (pubk a)))))
-  (label 169)
-  (parent 79)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nb-3 text) (a b c d name))
-  (defstrand init 3 (na nb-2) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-2) (nc nb-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-2)
-  (operation nonce-test (added-strand resp1 2) nb-2 (6 0)
-    (enc a c d nb-2 (pubk b)))
-  (traces
-    ((send (enc a c d nb-2 (pubk b)))
-      (recv (enc b c d nb-2 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-0 (pubk c))))
-    ((recv (enc a b d nb-2 nb-0 (pubk c)))
-      (send (enc a b c nb-2 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-1 (pubk c))))
-    ((recv (enc a b d nb-2 nb-1 (pubk c)))
-      (send (enc a b c nb-2 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-2 (pubk c))))
-    ((recv (enc a b d nb-2 nb-2 (pubk c)))
-      (send (enc a b c nb-2 nb-2 nb-2 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-3 (pubk c)))))
-  (label 170)
-  (parent 80)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 nb-3 text)
-    (a b c d name))
-  (defstrand init 3 (na nb-2) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-2) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-2) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-2)
-  (operation nonce-test (added-strand resp1 2) nb-2 (6 0)
-    (enc a c d nb-2 (pubk b)))
-  (traces
-    ((send (enc a c d nb-2 (pubk b)))
-      (recv (enc b c d nb-2 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-0 (pubk c))))
-    ((recv (enc a b d nb-2 nb-0 (pubk c)))
-      (send (enc a b c nb-2 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-1 (pubk c))))
-    ((recv (enc a b d nb-2 nb-1 (pubk c)))
-      (send (enc a b c nb-2 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-2 (pubk c))))
-    ((recv (enc a b d nb-2 nb-2 (pubk c)))
-      (send (enc a b c nb-2 nb-2 nc-2 (pubk d))))
-    ((recv (enc a c d nb-2 (pubk b)))
-      (send (enc a b d nb-2 nb-3 (pubk c)))))
-  (label 171)
-  (parent 81)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 nb-3 text)
-    (a b c d name))
-  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na na) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na na) (nb nb-3) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
-    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig na)
-  (operation nonce-test (added-strand resp1 2) na (6 0)
-    (enc a c d na (pubk b)))
-  (traces
-    ((send (enc a c d na (pubk b)))
-      (recv (enc b c d na nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
-    ((recv (enc a b d na nb-0 (pubk c)))
-      (send (enc a b c na nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
-    ((recv (enc a b d na nb-1 (pubk c)))
-      (send (enc a b c na nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-2 (pubk c))))
-    ((recv (enc a b d na nb-2 (pubk c)))
-      (send (enc a b c na nb-2 nc-2 (pubk d))))
-    ((recv (enc a c d na (pubk b)))
-      (send (enc a b d na nb-3 (pubk c)))))
-  (label 172)
-  (parent 82)
-  (unrealized (0 1) (2 0) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 173)
-  (parent 83)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 174)
-  (parent 84)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 175)
-  (parent 85)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nd-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 176)
-  (parent 86)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nd-0 nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 177)
-  (parent 87)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 nb-1 nc-0 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 178)
-  (parent 88)
-  (unrealized (0 1) (3 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 179)
-  (parent 89)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 180)
-  (parent 90)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 181)
-  (parent 91)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 182)
-  (parent 91)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d)))))
-  (label 183)
-  (parent 91)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d)))))
-  (label 184)
-  (parent 91)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 185)
-  (parent 92)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 186)
-  (parent 92)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 187)
-  (parent 92)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 188)
-  (parent 92)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-0 (5 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 189)
-  (parent 93)
-  (unrealized (0 1) (3 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 190)
-  (parent 93)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d)))))
-  (label 191)
-  (parent 93)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nb-1 nc-0 nb-2 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-2) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0))
-    ((5 1) (3 0)) ((6 1) (5 0)) ((7 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (5 0)
-    (enc a b d nb-0 nb-2 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c))))
-    ((recv (enc a b d nb-0 nb-2 (pubk c)))
-      (send (enc a b c nb-0 nb-2 nc-1 (pubk d)))))
-  (label 192)
-  (parent 93)
-  (unrealized (0 1) (3 0) (5 0) (7 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nc-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((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) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b d nb-0 nc-0 (pubk c)))
-      (send (enc a b c nb-0 nc-0 nc-1 (pubk d)))))
-  (label 193)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((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) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a)))))
-  (label 194)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nc-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((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) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nc-0 (pubk a)))))
-  (label 195)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((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) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a)))))
-  (label 196)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (precedes ((0 0) (3 0)) ((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) (0 1)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp3 2) nb-0 (0 1)
-    (enc a b c nb-0 nb-0 nc-0 (pubk d))
-    (enc a b c nb-0 nb-0 nb-0 (pubk d)) (enc a b d nb-0 nc-0 (pubk c))
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nc-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a)))))
-  (label 197)
-  (parent 94)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nb-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 198)
-  (parent 95)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nc-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nc-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 199)
-  (parent 96)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nb-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nb-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nb-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 200)
-  (parent 97)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 201)
-  (parent 98)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 202)
-  (parent 99)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 203)
-  (parent 99)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d)))))
-  (label 204)
-  (parent 99)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d)))))
-  (label 205)
-  (parent 99)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-1 nb-0)) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c)))))
-  (label 206)
-  (parent 100)
-  (unrealized (0 1))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d)))))
-  (label 207)
-  (parent 100)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nc-1 nb-0 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (3 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-0 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-2 (pubk d)))))
-  (label 208)
-  (parent 100)
-  (unrealized (0 1) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (4 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-2 (pubk d)))))
-  (label 209)
-  (parent 100)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-0 (5 0)
-    (enc a b d nb-0 nb-1 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 210)
-  (parent 101)
-  (unrealized (0 1) (3 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 211)
-  (parent 101)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nc-1 nb-1 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-2 (pubk d)))))
-  (label 212)
-  (parent 101)
-  (unrealized (0 1) (4 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0))
-    ((5 1) (3 0)) ((6 1) (5 0)) ((7 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp2 2) nb-0 (5 0)
-    (enc a b d nb-0 nb-2 (pubk c)) (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c))))
-    ((recv (enc a b d nb-0 nb-2 (pubk c)))
-      (send (enc a b c nb-0 nb-2 nc-2 (pubk d)))))
-  (label 213)
-  (parent 101)
-  (unrealized (0 1) (3 0) (5 0) (7 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 214)
-  (parent 102)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nb-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp1 2) nc-0 (5 0)
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nc-0 (pubk c))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nb-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-1 (pubk c)))))
-  (label 215)
-  (parent 103)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nc-0) (nc nc-0) (nd nc-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp1 2) nc-0 (4 0)
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nc-0 (pubk c))))
-    ((recv (enc a b c nc-0 nc-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nc-0 nc-0 nc-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c)))))
-  (label 216)
-  (parent 104)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nc-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nc-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nc-0) (nb nc-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nc-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nc-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nc-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nc-0)
-  (operation nonce-test (added-strand resp1 2) nc-0 (5 0)
-    (enc a c d nc-0 (pubk b)))
-  (traces
-    ((send (enc a c d nc-0 (pubk b)))
-      (recv (enc b c d nc-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nc-0 (pubk c))))
-    ((recv (enc a b d nc-0 nc-0 (pubk c)))
-      (send (enc a b c nc-0 nc-0 nc-0 (pubk d))))
-    ((recv (enc a b d nc-0 nb-0 (pubk c)))
-      (send (enc a b c nc-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-0 (pubk c))))
-    ((recv (enc a b c nc-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nc-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nc-0 (pubk b)))
-      (send (enc a b d nc-0 nb-1 (pubk c)))))
-  (label 217)
-  (parent 105)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (4 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b c nb-0 nb-0 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-0 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c)))))
-  (label 218)
-  (parent 106)
-  (unrealized (0 1) (4 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nd-0 nb-2 text) (a b c d name))
-  (defstrand init 3 (na nb-0) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-0) (nc nb-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-0) (nb nb-1) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp3 2 (na nb-0) (nb nb-1) (nc nc-0) (nd nd-0) (a a) (b b)
-    (c c) (d d))
-  (defstrand resp1 2 (na nb-0) (nb nb-2) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
-    ((6 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-0)
-  (operation nonce-test (added-strand resp1 2) nb-0 (5 0)
-    (enc a c d nb-0 (pubk b)))
-  (traces
-    ((send (enc a c d nb-0 (pubk b)))
-      (recv (enc b c d nb-0 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-0 (pubk c))))
-    ((recv (enc a b d nb-0 nb-0 (pubk c)))
-      (send (enc a b c nb-0 nb-0 nb-0 (pubk d))))
-    ((recv (enc a b d nb-0 nb-1 (pubk c)))
-      (send (enc a b c nb-0 nb-1 nc-0 (pubk d))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-1 (pubk c))))
-    ((recv (enc a b c nb-0 nb-1 nc-0 (pubk d)))
-      (send (enc b c d nb-0 nb-1 nc-0 nd-0 (pubk a))))
-    ((recv (enc a c d nb-0 (pubk b)))
-      (send (enc a b d nb-0 nb-2 (pubk c)))))
-  (label 219)
-  (parent 107)
-  (unrealized (0 1) (2 0) (5 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c)))))
-  (label 220)
-  (parent 108)
-  (unrealized (0 1) (3 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 221)
-  (parent 108)
-  (unrealized (0 1) (3 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d)))))
-  (label 222)
-  (parent 108)
-  (unrealized (0 1) (3 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nb-2 nc-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-2) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0))
-    ((5 1) (3 0)) ((6 1) (5 0)) ((7 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-2 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c))))
-    ((recv (enc a b d nb-1 nb-2 (pubk c)))
-      (send (enc a b c nb-1 nb-2 nc-1 (pubk d)))))
-  (label 223)
-  (parent 108)
-  (unrealized (0 1) (3 0) (5 0) (7 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (contracted (nb-2 nb-1)) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c)))))
-  (label 224)
-  (parent 109)
-  (unrealized (0 1) (3 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d)))))
-  (label 225)
-  (parent 109)
-  (unrealized (0 1) (3 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nc-1 nb-1 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((0 0) (6 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (4 0))
-    ((6 1) (4 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-1 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-2 (pubk d)))))
-  (label 226)
-  (parent 109)
-  (unrealized (0 1) (3 0) (6 0))
-  (comment "aborted"))
-
-(defskeleton nsl4cm
-  (vars (nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
-  (defstrand init 3 (na nb-1) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nb-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-0) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-1) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
-    (d d))
-  (defstrand resp1 2 (na nb-1) (nb nb-2) (a a) (b b) (c c) (d d))
-  (defstrand resp2 2 (na nb-1) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
-    (d d))
-  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((0 0) (7 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (3 0))
-    ((5 1) (3 0)) ((6 1) (5 0)) ((7 1) (5 0)))
-  (non-orig (privk a) (privk b) (privk c) (privk d))
-  (uniq-orig nb-1)
-  (operation nonce-test (added-strand resp2 2) nb-1 (5 0)
-    (enc a b d nb-1 nb-2 (pubk c)) (enc a c d nb-1 (pubk b)))
-  (traces
-    ((send (enc a c d nb-1 (pubk b)))
-      (recv (enc b c d nb-1 nb nc nd (pubk a)))
-      (send (enc nb nc nd (pubk b))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nb-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-0 (pubk c))))
-    ((recv (enc a b d nb-1 nb-0 (pubk c)))
-      (send (enc a b c nb-1 nb-0 nc-0 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-1 (pubk c))))
-    ((recv (enc a b d nb-1 nb-1 (pubk c)))
-      (send (enc a b c nb-1 nb-1 nc-1 (pubk d))))
-    ((recv (enc a c d nb-1 (pubk b)))
-      (send (enc a b d nb-1 nb-2 (pubk c))))
-    ((recv (enc a b d nb-1 nb-2 (pubk c)))
-      (send (enc a b c nb-1 nb-2 nc-2 (pubk d)))))
-  (label 227)
-  (parent 109)
-  (unrealized (0 1) (3 0) (5 0) (7 0))
+(comment "CPSA 2.0.5")
+(comment "All input read")
+
+(defprotocol nsl4cm basic
+  (defrole init
+    (vars (a b c d name) (na nb nc nd text))
+    (trace (send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b)))))
+  (defrole resp1
+    (vars (a b c d name) (na nb nc nd text))
+    (trace (recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb (pubk c))) (recv (enc nb nc nd (pubk b)))
+      (send (enc nc nd (pubk c)))))
+  (defrole resp2
+    (vars (a b c d name) (na nb nc nd text))
+    (trace (recv (enc a b d na nb (pubk c)))
+      (send (enc a b c na nb nc (pubk d))) (recv (enc nc nd (pubk c)))
+      (send (enc nd (pubk d)))))
+  (defrole resp3
+    (vars (a b c d name) (na nb nc nd text))
+    (trace (recv (enc a b c na nb nc (pubk d)))
+      (send (enc b c d na nb nc nd (pubk a)))
+      (recv (enc nd (pubk d))))))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b)))))
+  (label 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (0 1)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-0 (pubk c)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp2 2) na (0 1)
+    (enc a b d na nb-0 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nb-1 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (2 0)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-1 (pubk c)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 1) (2 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nb-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (contracted (nb-1 nb-0)) na (2 0)
+    (enc a b d na nb-0 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-0 (pubk c)))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp2 2) na (2 0)
+    (enc a b d na nb-1 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d)))))
+  (label 5)
+  (parent 3)
+  (unrealized (0 1) (2 0) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nb-0 nd-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp3 2) na (0 1)
+    (enc a b c na nb-0 nc-0 (pubk d)) (enc a b d na nb-0 (pubk c))
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
+      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a)))))
+  (label 6)
+  (parent 4)
+  (unrealized (0 1) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0)) ((5 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (4 0)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-2 (pubk c)))))
+  (label 7)
+  (parent 5)
+  (unrealized (0 1) (2 0) (4 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nb-0 nd-0 nb-1 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (3 0)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
+      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-1 (pubk c)))))
+  (label 8)
+  (parent 6)
+  (unrealized (0 1) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nc-1 nb-1 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (2 0)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (contracted (nb-2 nb-1)) na (4 0)
+    (enc a b d na nb-1 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-1 (pubk c)))))
+  (label 9)
+  (parent 7)
+  (unrealized (0 1) (2 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
+    (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (6 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
+    ((5 1) (4 0)) ((6 1) (4 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp2 2) na (4 0)
+    (enc a b d na nb-2 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-2 (pubk c))))
+    ((recv (enc a b d na nb-2 (pubk c)))
+      (send (enc a b c na nb-2 nc-2 (pubk d)))))
+  (label 10)
+  (parent 7)
+  (unrealized (0 1) (2 0) (4 0) (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nb-0 nd-0 nb-1 nc-1 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp2 2) na (3 0)
+    (enc a b d na nb-1 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
+      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d)))))
+  (label 11)
+  (parent 8)
+  (unrealized (0 1) (3 0) (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nc-1 nb-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (contracted (nb-1 nb-0)) na (2 0)
+    (enc a b c na nb-0 nc-1 (pubk d)) (enc a b d na nb-0 (pubk c))
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-0 (pubk c)))))
+  (label 12)
+  (parent 9)
+  (unrealized (0 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nc-1 nb-1 nd-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-1) (nc nc-1) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp3 2) na (2 0)
+    (enc a b c na nb-1 nc-1 (pubk d)) (enc a b d na nb-1 (pubk c))
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b c na nb-1 nc-1 (pubk d)))
+      (send (enc b c d na nb-1 nc-1 nd-0 (pubk a)))))
+  (label 13)
+  (parent 9)
+  (unrealized (0 1) (2 0) (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(comment "Strand bound exceeded--aborting run")
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nb-1 nc-1 nb-2 nc-2 nb-3 text)
+    (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-2) (nc nc-2) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-3) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((0 0) (5 0)) ((0 0) (7 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (2 0))
+    ((5 1) (4 0)) ((6 1) (4 0)) ((7 1) (6 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (6 0)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-2 (pubk c))))
+    ((recv (enc a b d na nb-2 (pubk c)))
+      (send (enc a b c na nb-2 nc-2 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-3 (pubk c)))))
+  (label 14)
+  (parent 10)
+  (unrealized (0 1) (2 0) (4 0) (6 0))
+  (comment "aborted"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nb-0 nd-0 nb-1 nc-1 nb-2 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (3 0)) ((5 1) (3 0))
+    ((6 1) (5 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (5 0)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
+      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-2 (pubk c)))))
+  (label 15)
+  (parent 11)
+  (unrealized (0 1) (3 0) (5 0))
+  (comment "aborted"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nc-1 nb-0 nd-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-0) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp3 2) na (0 1)
+    (enc a b c na nb-0 nc-0 (pubk d)) (enc a b c na nb-0 nc-1 (pubk d))
+    (enc a b d na nb-0 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b c na nb-0 nc-0 (pubk d)))
+      (send (enc b c d na nb-0 nc-0 nd-0 (pubk a)))))
+  (label 16)
+  (parent 12)
+  (unrealized (0 1) (4 0))
+  (comment "aborted"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nc-0 nc-1 nb-0 nd-0 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-0) (nc nc-1) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (0 1)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp3 2) na (0 1)
+    (enc a b c na nb-0 nc-0 (pubk d)) (enc a b c na nb-0 nc-1 (pubk d))
+    (enc a b d na nb-0 (pubk c)) (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b c na nb-0 nc-1 (pubk d)))
+      (send (enc b c d na nb-0 nc-1 nd-0 (pubk a)))))
+  (label 17)
+  (parent 12)
+  (unrealized (0 1) (4 0))
+  (comment "aborted"))
+
+(defskeleton nsl4cm
+  (vars (na nb nc nd nb-0 nc-0 nc-1 nb-1 nd-0 nb-2 text) (a b c d name))
+  (defstrand init 3 (na na) (nb nb) (nc nc) (nd nd) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-0) (a a) (b b) (c c) (d d))
+  (defstrand resp2 2 (na na) (nb nb-0) (nc nc-0) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp2 2 (na na) (nb nb-1) (nc nc-1) (a a) (b b) (c c)
+    (d d))
+  (defstrand resp1 2 (na na) (nb nb-1) (a a) (b b) (c c) (d d))
+  (defstrand resp3 2 (na na) (nb nb-1) (nc nc-1) (nd nd-0) (a a) (b b)
+    (c c) (d d))
+  (defstrand resp1 2 (na na) (nb nb-2) (a a) (b b) (c c) (d d))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((0 0) (6 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (2 0)) ((4 1) (3 0)) ((5 1) (2 0))
+    ((6 1) (5 0)))
+  (non-orig (privk a) (privk b) (privk c) (privk d))
+  (uniq-orig na)
+  (operation nonce-test (added-strand resp1 2) na (5 0)
+    (enc a c d na (pubk b)))
+  (traces
+    ((send (enc a c d na (pubk b)))
+      (recv (enc b c d na nb nc nd (pubk a)))
+      (send (enc nb nc nd (pubk b))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-0 (pubk c))))
+    ((recv (enc a b d na nb-0 (pubk c)))
+      (send (enc a b c na nb-0 nc-0 (pubk d))))
+    ((recv (enc a b d na nb-1 (pubk c)))
+      (send (enc a b c na nb-1 nc-1 (pubk d))))
+    ((recv (enc a c d na (pubk b))) (send (enc a b d na nb-1 (pubk c))))
+    ((recv (enc a b c na nb-1 nc-1 (pubk d)))
+      (send (enc b c d na nb-1 nc-1 nd-0 (pubk a))))
+    ((recv (enc a c d na (pubk b)))
+      (send (enc a b d na nb-2 (pubk c)))))
+  (label 18)
+  (parent 13)
+  (unrealized (0 1) (2 0) (5 0))
   (comment "aborted"))
diff --git a/tst/nsl4resp2.lisp b/tst/nsl4resp2.lisp
new file mode 100644
--- /dev/null
+++ b/tst/nsl4resp2.lisp
@@ -0,0 +1,73 @@
+(defprotocol nsl4 basic
+  (defrole init
+    (vars (a b c d name)
+      (na0 na1 na2 nb0 nb1 nb2 nc0 nc1 nc2 nd0 nd1 nd2 text))
+    (trace
+      (send
+        (enc na0 a c d (enc na1 a b d (pubk c)) (enc na2 a b c (pubk d))
+          (pubk b)))
+      (recv
+        (enc na2 nd0 d b c (enc na0 nb2 b c d (pubk a))
+          (enc na1 nc1 c b d (pubk a)) (enc nb0 nc2 c d a (pubk b))
+          (enc nb1 nd1 d a c (pubk b)) (enc nc0 nd2 d a b (pubk c))
+          (pubk a)))
+      (send
+        (enc nb2 (enc nb0 nc2 c d a (pubk b))
+          (enc nb1 nd1 d a c (pubk b)) (enc nc0 nd2 d a b (pubk c))
+          (enc nc1 (pubk c)) (enc nd0 (pubk d)) (pubk b))))
+    (uniq-orig na0 na1 na2))
+  (defrole resp1
+    (vars (a b c d name)
+      (na0 na1 na2 nb0 nb1 nb2 nc0 nc1 nc2 nd0 nd1 nd2 text))
+    (trace
+      (recv
+        (enc na0 a c d (enc na1 a b d (pubk c)) (enc na2 a b c (pubk d))
+          (pubk b)))
+      (send
+        (enc nb0 b d a (enc na1 a b d (pubk c)) (enc na2 a b c (pubk d))
+          (enc nb1 b c a (pubk d)) (enc na0 nb2 b c d (pubk a))
+          (pubk c)))
+      (recv
+        (enc nb2 (enc nb0 nc2 c d a (pubk b))
+          (enc nb1 nd1 d a c (pubk b)) (enc nc0 nd2 d a b (pubk c))
+          (enc nc1 (pubk c)) (enc nd0 (pubk d)) (pubk b)))
+      (send
+        (enc nc2 (enc nc0 nd2 d a b (pubk c)) (enc nc1 (pubk c))
+          (enc nd0 (pubk d)) (enc nd1 (pubk d)) (pubk c))))
+    (uniq-orig nb0 nb1 nb2))
+  (defrole resp2
+    (vars (a b c d name)
+      (na0 na1 na2 nb0 nb1 nb2 nc0 nc1 nc2 nd0 nd1 nd2 text))
+    (trace
+      (recv
+        (enc nb0 b d a (enc na1 a b d (pubk c)) (enc na2 a b c (pubk d))
+          (enc nb1 b c a (pubk d)) (enc na0 nb2 b c d (pubk a))
+          (pubk c)))
+      (send
+        (enc nc0 c a b (enc na2 a b c (pubk d)) (enc nb1 b c a (pubk d))
+          (enc na0 nb2 b c d (pubk a)) (enc na1 nc1 c b d (pubk a))
+          (enc nb0 nc2 c d a (pubk b)) (pubk d)))
+      (recv
+        (enc nc2 (enc nc0 nd2 d a b (pubk c)) (enc nc1 (pubk c))
+          (enc nd0 (pubk d)) (enc nd1 (pubk d)) (pubk c)))
+      (send (enc nd2 (enc nd0 (pubk d)) (enc nd1 (pubk d)) (pubk d))))
+    (uniq-orig nc0 nc1 nc2))
+  (defrole resp3
+    (vars (a b c d name)
+      (na0 na1 na2 nb0 nb1 nb2 nc0 nc1 nc2 nd0 nd1 nd2 text))
+    (trace
+      (recv
+        (enc nc0 c a b (enc na2 a b c (pubk d)) (enc nb1 b c a (pubk d))
+          (enc na0 nb2 b c d (pubk a)) (enc na1 nc1 c b d (pubk a))
+          (enc nb0 nc2 c d a (pubk b)) (pubk d)))
+      (send
+        (enc na2 nd0 d b c (enc na0 nb2 b c d (pubk a))
+          (enc na1 nc1 c b d (pubk a)) (enc nb0 nc2 c d a (pubk b))
+          (enc nb1 nd1 d a c (pubk b)) (enc nc0 nd2 d a b (pubk c))
+          (pubk a)))
+      (recv (enc nd2 (enc nd0 (pubk d)) (enc nd1 (pubk d)) (pubk d))))
+    (uniq-orig nd0 nd1 nd2)))
+
+(defskeleton nsl4 (vars (a b c d name))
+  (defstrand resp2 4 (a a) (b b) (c c) (d d))
+  (non-orig (privk a) (privk b) (privk c) (privk d)))
diff --git a/tst/nslsk.tst b/tst/nslsk.tst
--- a/tst/nslsk.tst
+++ b/tst/nslsk.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol nslsk basic
diff --git a/tst/or.tst b/tst/or.tst
--- a/tst/or.tst
+++ b/tst/or.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol or basic
@@ -32,9 +32,9 @@
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton or
-  (vars (x y mesg) (nb m na m-0 text) (s a b a-0 name) (k skey))
+  (vars (x y mesg) (nb m nb-0 m-0 text) (s a b b-0 name) (k skey))
   (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
-  (defstrand serv 2 (na na) (nb nb) (m m-0) (a a-0) (b b) (s s) (k k))
+  (defstrand serv 2 (na nb) (nb nb-0) (m m-0) (a b) (b b-0) (s s) (k k))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
   (non-orig (ltk a s) (ltk b s))
   (uniq-orig nb k)
@@ -44,18 +44,18 @@
     ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
       (recv (cat m y (enc nb k (ltk b s)))) (send y))
     ((recv
-       (cat m-0 a-0 b (enc na m-0 a-0 b (ltk a-0 s))
-         (enc nb m-0 a-0 b (ltk b s))))
-      (send (cat m-0 (enc na k (ltk a-0 s)) (enc nb k (ltk b s))))))
+       (cat m-0 b b-0 (enc nb m-0 b b-0 (ltk b s))
+         (enc nb-0 m-0 b b-0 (ltk b-0 s))))
+      (send (cat m-0 (enc nb k (ltk b s)) (enc nb-0 k (ltk b-0 s))))))
   (label 1)
   (parent 0)
   (unrealized (1 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton or
-  (vars (x y mesg) (nb m nb-0 m-0 text) (s a b b-0 name) (k skey))
+  (vars (x y mesg) (nb m na m-0 text) (s a b a-0 name) (k skey))
   (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
-  (defstrand serv 2 (na nb) (nb nb-0) (m m-0) (a b) (b b-0) (s s) (k k))
+  (defstrand serv 2 (na na) (nb nb) (m m-0) (a a-0) (b b) (s s) (k k))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
   (non-orig (ltk a s) (ltk b s))
   (uniq-orig nb k)
@@ -65,35 +65,15 @@
     ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
       (recv (cat m y (enc nb k (ltk b s)))) (send y))
     ((recv
-       (cat m-0 b b-0 (enc nb m-0 b b-0 (ltk b s))
-         (enc nb-0 m-0 b b-0 (ltk b-0 s))))
-      (send (cat m-0 (enc nb k (ltk b s)) (enc nb-0 k (ltk b-0 s))))))
+       (cat m-0 a-0 b (enc na m-0 a-0 b (ltk a-0 s))
+         (enc nb m-0 a-0 b (ltk b s))))
+      (send (cat m-0 (enc na k (ltk a-0 s)) (enc nb k (ltk b s))))))
   (label 2)
   (parent 0)
   (unrealized (1 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton or
-  (vars (x y mesg) (nb m na text) (s a b name) (k skey))
-  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
-  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
-  (non-orig (ltk a s) (ltk b s))
-  (uniq-orig nb k)
-  (operation encryption-test (added-strand resp 2)
-    (enc nb m a b (ltk b s)) (1 0))
-  (traces
-    ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
-      (recv (cat m y (enc nb k (ltk b s)))) (send y))
-    ((recv
-       (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
-      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))))
-  (label 3)
-  (parent 1)
-  (unrealized (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton or
   (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey))
   (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
   (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
@@ -108,8 +88,8 @@
     ((recv
        (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
       (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))))))
-  (label 4)
-  (parent 2)
+  (label 3)
+  (parent 1)
   (unrealized (1 0))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -117,42 +97,62 @@
   (vars (x y mesg) (nb m na text) (s a b name) (k skey))
   (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
   (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
-  (defstrand init 1 (na na) (m m) (a a) (b b) (s s))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
   (non-orig (ltk a s) (ltk b s))
   (uniq-orig nb k)
-  (operation encryption-test (added-strand init 1)
-    (enc na m a b (ltk a s)) (1 0))
+  (operation encryption-test (added-strand resp 2)
+    (enc nb m a b (ltk b s)) (1 0))
   (traces
     ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
       (recv (cat m y (enc nb k (ltk b s)))) (send y))
     ((recv
        (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
-      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
-    ((send (cat m a b (enc na m a b (ltk a s))))))
+      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))))
+  (label 4)
+  (parent 2)
+  (unrealized (1 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton or
+  (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey))
+  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
+  (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
+  (defstrand init 1 (na nb-0) (m m) (a a) (b a) (s s))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
+  (non-orig (ltk a s))
+  (uniq-orig nb k)
+  (operation encryption-test (added-strand init 1)
+    (enc nb-0 m a a (ltk a s)) (1 0))
+  (traces
+    ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
+      (recv (cat m y (enc nb k (ltk a s)))) (send y))
+    ((recv
+       (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
+      (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))
+    ((send (cat m a a (enc nb-0 m a a (ltk a s))))))
   (label 5)
   (parent 3)
   (unrealized)
   (shape))
 
 (defskeleton or
-  (vars (x y x-0 mesg) (nb m na text) (s a name) (k skey))
+  (vars (x y x-0 mesg) (nb m nb-0 text) (s a name) (k skey))
   (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
-  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b a) (s s) (k k))
-  (defstrand resp 2 (x x-0) (nb na) (m m) (a a) (b a) (s s))
+  (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
+  (defstrand resp 2 (x x-0) (nb nb-0) (m m) (a a) (b a) (s s))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
   (non-orig (ltk a s))
   (uniq-orig nb k)
   (operation encryption-test (added-strand resp 2)
-    (enc na m a a (ltk a s)) (1 0))
+    (enc nb-0 m a a (ltk a s)) (1 0))
   (traces
     ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
       (recv (cat m y (enc nb k (ltk a s)))) (send y))
     ((recv
-       (cat m a a (enc na m a a (ltk a s)) (enc nb m a a (ltk a s))))
-      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk a s)))))
+       (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
+      (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))
     ((recv (cat m a a x-0))
-      (send (cat m a a x-0 (enc na m a a (ltk a s))))))
+      (send (cat m a a x-0 (enc nb-0 m a a (ltk a s))))))
   (label 6)
   (parent 3)
   (unrealized)
@@ -160,45 +160,45 @@
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton or
-  (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey))
-  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
-  (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
-  (defstrand init 1 (na nb-0) (m m) (a a) (b a) (s s))
+  (vars (x y mesg) (nb m na text) (s a b name) (k skey))
+  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
+  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
+  (defstrand init 1 (na na) (m m) (a a) (b b) (s s))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
-  (non-orig (ltk a s))
+  (non-orig (ltk a s) (ltk b s))
   (uniq-orig nb k)
   (operation encryption-test (added-strand init 1)
-    (enc nb-0 m a a (ltk a s)) (1 0))
+    (enc na m a b (ltk a s)) (1 0))
   (traces
-    ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
-      (recv (cat m y (enc nb k (ltk a s)))) (send y))
+    ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
+      (recv (cat m y (enc nb k (ltk b s)))) (send y))
     ((recv
-       (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
-      (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))
-    ((send (cat m a a (enc nb-0 m a a (ltk a s))))))
+       (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
+      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
+    ((send (cat m a b (enc na m a b (ltk a s))))))
   (label 7)
   (parent 4)
   (unrealized)
   (shape))
 
 (defskeleton or
-  (vars (x y x-0 mesg) (nb m nb-0 text) (s a name) (k skey))
+  (vars (x y x-0 mesg) (nb m na text) (s a name) (k skey))
   (defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
-  (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
-  (defstrand resp 2 (x x-0) (nb nb-0) (m m) (a a) (b a) (s s))
+  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b a) (s s) (k k))
+  (defstrand resp 2 (x x-0) (nb na) (m m) (a a) (b a) (s s))
   (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
   (non-orig (ltk a s))
   (uniq-orig nb k)
   (operation encryption-test (added-strand resp 2)
-    (enc nb-0 m a a (ltk a s)) (1 0))
+    (enc na m a a (ltk a s)) (1 0))
   (traces
     ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
       (recv (cat m y (enc nb k (ltk a s)))) (send y))
     ((recv
-       (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
-      (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))
+       (cat m a a (enc na m a a (ltk a s)) (enc nb m a a (ltk a s))))
+      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk a s)))))
     ((recv (cat m a a x-0))
-      (send (cat m a a x-0 (enc nb-0 m a a (ltk a s))))))
+      (send (cat m a a x-0 (enc na m a a (ltk a s))))))
   (label 8)
   (parent 4)
   (seen 9)
diff --git a/tst/pca.tst b/tst/pca.tst
--- a/tst/pca.tst
+++ b/tst/pca.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol aic basic
diff --git a/tst/sigenc.tst b/tst/sigenc.tst
--- a/tst/sigenc.tst
+++ b/tst/sigenc.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol mult-keys-sig-enc basic
diff --git a/tst/sorted_epmo_acctnum.tst b/tst/sorted_epmo_acctnum.tst
--- a/tst/sorted_epmo_acctnum.tst
+++ b/tst/sorted_epmo_acctnum.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol epmo_acctnum basic
@@ -259,9 +259,8 @@
       (send (enc c nc nm acctnum price (pubk b)))))
   (label 5)
   (parent 3)
-  (seen 8)
   (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
   (vars (goods price acctnum goods-0 price-0 text) (nm nc nb nm-0 data)
@@ -417,9 +416,8 @@
       (send (enc nc nm-0 m price-0 (pubk c)))))
   (label 9)
   (parent 6)
-  (seen 11)
   (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
   (vars (goods price acctnum goods-0 text) (nm nc nb nb-0 data)
@@ -546,9 +544,8 @@
           (enc nc nb-0 (pubk c))))))
   (label 12)
   (parent 10)
-  (seen 14)
   (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
   (vars (goods price acctnum goods-0 price-0 text)
@@ -685,9 +682,8 @@
       (send (enc nc nm-0 m price-0 (pubk c)))))
   (label 15)
   (parent 13)
-  (seen 16)
   (unrealized (0 2))
-  (comment "5 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
   (vars (price price-0 acctnum goods text) (nm nc nb nb-0 nm-0 data)
@@ -889,9 +885,8 @@
       (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
   (label 19)
   (parent 18)
-  (seen 20)
   (unrealized (0 0) (1 2))
-  (comment "5 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
   (vars (acctnum price goods acctnum-0 goods-0 text) (nm nb nc data)
diff --git a/tst/weird.tst b/tst/weird.tst
--- a/tst/weird.tst
+++ b/tst/weird.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol wierd basic
diff --git a/tst/wmf.tst b/tst/wmf.tst
--- a/tst/wmf.tst
+++ b/tst/wmf.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol wide-mouth-frog basic
diff --git a/tst/woolam.tst b/tst/woolam.tst
--- a/tst/woolam.tst
+++ b/tst/woolam.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol woolam basic
diff --git a/tst/yahalom.tst b/tst/yahalom.tst
--- a/tst/yahalom.tst
+++ b/tst/yahalom.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.4")
+(comment "CPSA 2.0.5")
 (comment "All input read")
 
 (defprotocol yahalom basic
@@ -91,9 +91,8 @@
       (send (enc n-b k))))
   (label 3)
   (parent 2)
-  (seen 5)
   (unrealized (3 1))
-  (comment "2 in cohort - 1 not yet seen"))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
   (vars (n-b n-a n-a-0 n-b-0 text) (a b c name) (k skey))
