diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,52 @@
+2010-07-29  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* cpsa.cabal (Version): Tagged as version 2.1.0.
+
+2010-07-23  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* cpsa.cabal (Cabal-Version): CPSA now assumes Cabal is version
+	1.6 or greater, and support for GHC 6.8 has been withdrawn.
+
+	* src/CPSA/Graph/Loader.hs (loadDefs): The graph program displays
+	the initial comments in an input file.
+
+2010-07-14  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Main.hs (options): Four new command line options
+	have been added:
+	  -d         --displacement     enable displacement
+	  -c         --check-nonces     check nonces first
+	  -t         --try-old-strands  try old strands first
+	  -r         --reverse-nodes    try old nodes first
+
+2010-07-09  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Strand.hs (contractAndOrder): Support for this
+	addition to authentication test solving has been removed.
+
+	* src/CPSA/Lib/Cohort.hs (contractions): Contraction has changed
+	so that it only solves the test for one position of the critical
+	message in the test node, not every position.  Previously, CPSA
+	was missing most general solutions due to contracting too many
+	positions at the same time.
+
+	* src/CPSA/Lib/Strand.hs (pruneStrands): The pruning condition now
+	checks to see that there is a variable renaming between the
+	preskeletons involved.  Previously, the only check ensured the map
+	was idempotent.
+
+2010-07-08  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Cohort.hs (useEcapeSetInTargetTerms): Added an
+	option to include the escape set in the set of target terms.
+
+2010-06-22  John D. Ramsdell  <ramsdell@mitre.org>
+
+	* src/CPSA/Lib/Strand.hs (gainedPos): In a skeleton, a node with a
+	uniquely originating atom that is gained must be after the node of
+	origination.  It used to be that only nodes in which the atom is
+	acquired must have the ordering.
+
 2010-06-18  John D. Ramsdell  <ramsdell@mitre.org>
 
 	* cpsa.cabal (Version): Tagged as version 2.0.5.
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,28 @@
 CPSA NEWS -- history of user-visible changes.
 
+* Changes in version 2.1.0
+
+** Initial comments displayed
+The graph program displays the initial comments in an input file.
+
+** New command line options
+Four new command line options have been added:
+
+   -d         --displacement     enable displacement
+   -c         --check-nonces     check nonces first
+   -t         --try-old-strands  try old strands first
+   -r         --reverse-nodes    try old nodes first
+
+In rare cases, the use of one of these options may allow normal
+termination in a case in which CPSA aborts otherwise.
+
+** GHC 6.8 no longer supported
+Use GHC 6.10 or greater.
+
+** Bugs fixes
+Some minor bugs were fixed that mostly effect artificially generated
+protocols.
+
 * Changes in version 2.0.5
 
 ** Performance enhanced
diff --git a/README b/README
--- a/README
+++ b/README
@@ -5,18 +5,6 @@
 Windows.  The instructions assume GHC has been installed on your
 machine.
 
-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
-6.8.  Simply remove occurrences of the string "--Hackage".
-
 QUICK START (Linux)
 
 : To build and install CPSA type:
diff --git a/cpsa.cabal b/cpsa.cabal
--- a/cpsa.cabal
+++ b/cpsa.cabal
@@ -1,7 +1,7 @@
 Name:			cpsa
-Version:		2.0.5
+Version:		2.1.0
 Maintainer:		ramsdell@mitre.org
-Cabal-Version:		>= 1.2
+Cabal-Version:		>= 1.6
 License:		BSD3
 License-File:		license.txt
 Synopsis:		Symbolic cryptographic protocol analyzer
@@ -40,45 +40,47 @@
 Category:		Cryptography
 Build-Type:		Simple
 Data-Files:
-  doc/index.html doc/cpsauser.html doc/cpsa.mk doc/Make.hs
-  doc/cpsaprimer.pdf doc/cpsaoverview.pdf doc/ffgg.scm doc/ns.scm
-  doc/or.scm doc/woolam.scm doc/yahalom.scm
--- In cabal 1.6, use this:
--- Data-Files:
---   index.html cpsauser.html cpsa.mk Make.hs cpsaprimer.pdf cpsaoverview.pdf
---   ffgg.scm ns.scm or.scm woolam.scm yahalom.scm
--- Data-Dir:	    	doc
+   index.html cpsauser.html cpsa.mk Make.hs cpsaprimer.pdf
+   cpsaoverview.pdf ffgg.scm ns.scm or.scm woolam.scm yahalom.scm
+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/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
+  doc/SDAG.lhs doc/cpsatheory.pdf doc/cpsaspec.pdf doc/cpsadesign.pdf
+  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/blanchet.scm tst/blanchet.tst tst/completeness-test.scm
+  tst/completeness-test.tst tst/dass.lisp 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/denning-sacco.tst tst/dh.sch tst/dh.tst
+  tst/dh_unifywithconst.sch tst/dh_unifywithconst.tst
+  tst/ds-short.lisp tst/dy.lsp tst/dy.tst tst/encsig.scm
+  tst/encsig.tst tst/epmo_acctnum.lsp tst/epmo_acctnum.tst
+  tst/epmo.scm 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/missing_contraction.scm tst/missing_contraction.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/no_contraction.scm tst/no_contraction.tst
+  tst/non_transforming.scm tst/non_transforming.tst tst/nsl3.scm
+  tst/nsl3.tst tst/nsl4cm1.lsp tst/nsl4cm1.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
+  tst/pca.lsp tst/pca.tst tst/pruning1.scm tst/pruning1.tst
+  tst/sigenc.scm tst/sigenc.tst tst/sorted_epmo_acctnum.scm
+  tst/sorted_epmo_acctnum.tst tst/targetterms2.scm
+  tst/targetterms2.tst tst/targetterms6.scm tst/targetterms6.tst
+  tst/tnsl5.lisp tst/uncarried_keys.scm tst/uncarried_keys.tst
+  tst/uo.scm tst/uo.tst tst/updatetst tst/weird.scm tst/weird.tst
+  tst/wmf.lsp tst/wmf.tst tst/woolam.scm tst/woolam.tst
+  tst/yahalom.scm tst/yahalom.tst
 
 -- Disable with -f-par option during configuration.
 
@@ -86,22 +88,16 @@
   Description:		Enable use of the parallel construct par
   Default:		True
 
-Flag Old
-  Description:		Enable support for cabal < 1.6
-  Default:		False
-
 -- Algebra implementations must import CPSA.Lib.CPSA.
 -- Tools may additionally import CPSA.Lib.Entry.
 -- No other modules in CPSA.Lib should be imported by applications.
 
 Executable cpsa
   Main-Is:		CPSA/Lib/Main.hs
-  Build-Depends:	base >= 3 &&< 5, containers
+  Build-Depends:	base >= 3 && < 5, containers
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports
   Hs-Source-Dirs:	src
---Hackage  if flag(old)
---Hackage    Hs-Source-Dirs:	dist/build/autogen
   Other-Modules:
     Paths_cpsa CPSA.Lib.Vector CPSA.Lib.Utilities CPSA.Lib.Pretty
     CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra
@@ -120,8 +116,6 @@
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports
   Hs-Source-Dirs:	src
---Hackage  if flag(old)
---Hackage    Hs-Source-Dirs:	dist/build/autogen
   Other-Modules:
     Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr
     CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol
@@ -137,8 +131,6 @@
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports
   Hs-Source-Dirs:	src
---Hackage  if flag(old)
---Hackage    Hs-Source-Dirs:	dist/build/autogen
   Other-Modules:
     Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr
     CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol
@@ -151,8 +143,6 @@
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports
   Hs-Source-Dirs:	src
---Hackage  if flag(old)
---Hackage    Hs-Source-Dirs:	dist/build/autogen
   Other-Modules:
     Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr
     CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol
@@ -167,8 +157,6 @@
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports
   Hs-Source-Dirs:	src
---Hackage  if flag(old)
---Hackage    Hs-Source-Dirs:	dist/build/autogen
   Other-Modules:
     Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr
     CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol
@@ -181,8 +169,6 @@
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports
   Hs-Source-Dirs:	src
---Hackage  if flag(old)
---Hackage    Hs-Source-Dirs:	dist/build/autogen
   Other-Modules:
     Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr
     CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol
diff --git a/doc/Makefile b/doc/Makefile
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -62,7 +62,7 @@
 	pdflatex $(THEORY).tex
 
 CLEAN_FILES := $(PRIMER).pdf $(OVERVIEW).pdf \
-		$(DESIGN).pdf $(SPEC).pdf $(THEORY)\
+		$(DESIGN).pdf $(SPEC).pdf $(THEORY).pdf \
 	$(wildcard *.log *.aux *.toc *.mps *.mpx) \
 	$(wildcard *.bbl *.blg *.ind *.idx *.ilg *.out)
 
diff --git a/doc/cpsa.bib b/doc/cpsa.bib
--- a/doc/cpsa.bib
+++ b/doc/cpsa.bib
@@ -131,3 +131,40 @@
     pages = "198--208",
     year = 1983
 }
+
+@Manual{cpsaspec09,
+  title = 	 {The {CPSA} Specification:
+    A Reduction System for Searching for Shapes in Cryptographic Protocols},
+  OPTkey = 	 {},
+  author = 	 {John D.~Ramsdell and Joshua D.~Guttman and Paul D.~Rowe},
+  organization = {The MITRE Corporation},
+  OPTaddress = 	 {},
+  OPTedition = 	 {},
+  OPTmonth = 	 {},
+  year = 	 2009,
+  note = 	 {In \url{http://hackage.haskell.org/package/cpsa} source
+    distribution, \texttt{doc} directory},
+  OPTannote = 	 {}
+}
+
+@InCollection{cpsa09,
+  author = 	 {John D. Ramsdell and Joshua D. Guttman},
+  title = 	 {{CPSA}: A cryptographic protocol shapes analyzer},
+  booktitle = 	 {Hackage},
+  OPTcrossref =  {},
+  OPTkey = 	 {},
+  OPTpages = 	 {},
+  publisher =    {The MITRE Corporation},
+  year = 	 2009,
+  OPTeditor = 	 {},
+  OPTvolume = 	 {},
+  OPTnumber = 	 {},
+  OPTseries = 	 {},
+  OPTtype = 	 {},
+  OPTchapter = 	 {},
+  OPTaddress = 	 {},
+  OPTedition = 	 {},
+  OPTmonth = 	 {},
+  note = 	 {\url{http://hackage.haskell.org/package/cpsa}},
+  OPTannote = 	 {}
+}
diff --git a/doc/cpsadesign.pdf b/doc/cpsadesign.pdf
new file mode 100644
Binary files /dev/null and b/doc/cpsadesign.pdf differ
diff --git a/doc/cpsadesign.tex b/doc/cpsadesign.tex
--- a/doc/cpsadesign.tex
+++ b/doc/cpsadesign.tex
@@ -719,7 +719,7 @@
 $$
 \begin{array}{r@{}c@{}l}
 \ops{C}_{s,s'}(\cn{k}(P, I, O, N, U))&{}={}&
-\cn{k}(P, I\dagger s, \ops{C}_{\phi}\circ O, N, U)\\
+\cn{k}(P, I\circ\phi'_s, \ops{C}_{\phi}\circ O, N, U)\\
 \ops{C}_\phi(\cn{o}(n_0, n_1))&{}={}
 &\cn{o}(\ops{C}_\phi(n_0), \ops{C}_\phi(n_1))\\
 \ops{C}_\phi(\cn{n}(s, p))&{}={}&\cn{n}(\phi(s), p)\\
@@ -733,10 +733,10 @@
 j-1&\mbox{if $j>s$}\\
 j&\mbox{otherwise}
 \end{array}\right.\\
-(I\dagger s)(j)&{}={}&\left\{
+\phi'_s(j)&{}={}&\left\{
 \begin{array}{ll}
-I(j+1)&\mbox{if $j\geq s$}\\
-I(j)&\mbox{otherwise}
+j+1&\mbox{if $j\geq s$}\\
+j&\mbox{otherwise}
 \end{array}\right.
 \end{array}
 $$ where the trace of~$I(s)$ is a prefix of the trace of~$I(s')$.
@@ -744,7 +744,8 @@
 $\cn{o}(\cn{n}(s,p),\cn{n}(s,p'))$ are removed from the ordering when
 $p<p'$, so they do not cause the output preskeleton to fail to be
 well-formed.  The implicit homomorphism is
-$(\phi_{s,s'},\idsigma)$, where~$\idsigma$ is the identity substitution.
+$(\phi_{s,s'},\idsigma)$, where~$\idsigma$ is the identity
+substitution.  Note that $\phi_{s,s'}\circ\phi'_s=\idsigma$.
 
 \subsection{Transitive Reduction}
 
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/cpsaspec.pdf b/doc/cpsaspec.pdf
new file mode 100644
Binary files /dev/null and b/doc/cpsaspec.pdf differ
diff --git a/doc/cpsaspec.tex b/doc/cpsaspec.tex
--- a/doc/cpsaspec.tex
+++ b/doc/cpsaspec.tex
@@ -772,12 +772,17 @@
 
 In a {\cpsa} algebra, a trace is a term of sort \dom{evt} \dom{list}.
 
-\begin{defn}[Originates]
+\begin{defn}[Originates]\index{originates}
 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.
 \end{defn}
 
-\begin{defn}[Acquired]
+\begin{defn}[Gained]\index{gained}
+A message is \emph{gained} in a trace if it is carried by some
+event and the first event in which it is carried is outbound.
+\end{defn}
+
+\begin{defn}[Acquired]\index{acquired}
 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}
@@ -797,7 +802,7 @@
 \item Each non-originating atom is not carried by any event in the
   trace, and each variable that occurs in the atom occurs in the
   trace.
-\item Every non-base sorted variable is acquired by the trace.
+\item Every non-base sorted variable is acquired by the trace.\index{acquired}
 \end{enumerate}
 \end{defn}
 
@@ -847,13 +852,13 @@
 An \emph{instance}~$i$ consists of a role $\fn{role}(i)$, a positive
 number $\fn{height}(i)$, and an order-sorted substitution
 $\fn{subst}(i)$.  Let~$r$,~$h$, and~$\sigma$ be the role, height, and
-substitution for a given instance~$i$.  Let $C|_h$ be the prefix of
+substitution for a given instance~$i$.  Let $\prefix{C}{h}$ be the prefix of
 sequence~$C$ of length~$h$.  The following properties hold.
 \begin{enumerate}
 \item The height of an instance cannot exceed the length of it's
   role's trace.
 \item $\fn{Dom}(\sigma)$ is the set of variables that occur in
-  $\fn{rtrace}(r)|_h$.
+  $\prefix{\fn{rtrace}(r)}{h}$.
 \item No variable in an instance's role may occur in
   $\fn{Ran}(\sigma)$.
 \end{enumerate}
@@ -891,7 +896,7 @@
 assumption~$\sigma(t)$ if~$t\in\fn{rnon}(r)$, and the variables in~$t$
 are in $\fn{Dom}(\sigma)$.  Instance~$i$ inherits the unique
 origination assumption~$\sigma(t)$ if~$t\in\fn{runique}(r)$, and $t$
-originates in $\fn{rtrace}(r)|_h$.
+originates in $\prefix{\fn{rtrace}(r)}{h}$.
 \end{defn}
 
 \begin{defn}[Strand Space~\protect{\cite[Definition~2.2]{ThayerEtal99}}]
@@ -1062,13 +1067,14 @@
 \end{defn}
 
 Let $\orig(k,t)$ be the set of nodes at which~$t$ originates in~$k$,
-and~$\acqu(k,t)$ be the set of nodes at which~$t$ is acquired in~$k$.
+and~$\gain(k,t)$ be the set of nodes at which~$t$ is gained
+in~$k$.\index{gained}
 
 \begin{defn}[Skeleton]
 A preskeleton~$k$ is a \emph{skeleton} if each atom in
 $\fn{unique}(k)$ originates in at most one trace, and the node of
-origination precedes each node that acquires the atom, i.e.\@ for
-every~$t\in\fn{unique}(k)$, $n_0\in\orig(k,t)$ and $n_1\in\acqu(k,t)$
+origination precedes each node that gains the atom, i.e.\@ for
+every~$t\in\fn{unique}(k)$, $n_0\in\orig(k,t)$ and $n_1\in\gain(k,t)$
 implies~$n_0\kprec{k}n_1$.
 \end{defn}
 
@@ -1086,7 +1092,7 @@
 \item $n_0\kprec{k_0}n_1$ implies $\phi(n_0)\kprec{k_1}\phi(n_1)$;
 \item $\sigma(\fn{non}(k_0)) \subseteq \fn{non}(k_1)$;
 \item $\sigma(\fn{unique}(k_0)) \subseteq \fn{unique}(k_1)$;
-\item $t\in \fn{unique}(k_0)$ implies
+\item\label{enu:orig} $t\in \fn{unique}(k_0)$ implies
   $\phi(\orig(k_0,t))\subseteq\orig(k_1,\sigma(t))$.
 \end{enumerate}
 A homomorphism is \index{homomorphism!strandwise injective}\emph{strandwise
@@ -1095,10 +1101,10 @@
 both directions.
 \end{defn}
 
-The last condition ensures that if $t\in unique(k_0)$ originates
+Condition~\ref{enu:orig} ensures that if $t\in unique(k_0)$ originates
 at $(s,p)$ then when we apply $\sigma$ to the strand $s$, $\sigma(t)$
-neither originates nor is acquired at $(\sigma(s),j)$ for $j<p$
-($\sigma(t)$ can never originate or be acquired later).  In other words,
+neither originates nor is gained at $(\phi(s),j)$ for $j<p$
+($\sigma(t)$ can never originate or be gained later).  In other words,
 $\sigma$ alone will either satisfy or violate the last clause.
 
 \begin{defn}[Homomorphism Composition]\label{def:composition}
@@ -1193,12 +1199,11 @@
 
 \begin{defn}[Pruned Skeleton]
 A skeleton~$k$ has a set of \emph{redundant strands}~$S$ if there is a
-substitution~$\sigma$ that is a renaming for every variable in the
-trace of a strand not in~$S$, a strand mapping~$\phi$ such that $s\in
-S$ implies there is some $s'\notin S$ such that $\phi(s)=\phi(s')$
-and the height of~$s$ is no greater than the height of~$s'$, a
-skeleton~$k'$ such that $k\homomorphism{\phi,\sigma}k'$ where
-$k'=(\phi,\sigma)(k)$, and a
+substitution~$\sigma$ that is a variable renaming, a strand
+mapping~$\phi$ such that $s\in S$ implies there is some $s'\notin S$
+such that $\phi(s)=\phi(s')$ and the height of~$s$ is no greater than
+the height of~$s'$, a skeleton~$k'$ such that
+$k\homomorphism{\phi,\sigma}k'$ where $k'=(\phi,\sigma)(k)$, and a
 homomorphism $k'\homomorphism{\phi',\sigma'}k$ such that
 $\sigma\circ\sigma'=\idsigma$ and $\phi\circ\phi'=\idphi$.  A
 skeleton~$k$ is \emph{pruned} if it contains no redundant strands.
@@ -1280,7 +1285,7 @@
 
 If a preskeleton $k$ is not a skeleton, then it is either because
 some $t\in unique(k)$ actually originates at more than one node,
-or because for some $t\in unique(k)$, there is a node $n_1\in\acqu(k,t)$,
+or because for some $t\in unique(k)$, there is a node $n_1\in\gain(k,t)$,
 and a node $n_0\in\orig(k,t)$ such that $n_0\nprec_k n_1$.
 These obstructions are resolved via identifying strands and
 enriching node orderings respectively.  We show that we can always
@@ -1715,7 +1720,7 @@
 orderings implied by origination.  That is,
 \begin{enumerate}
 \item $\kprec{k_1}= (\kprec{k_0}\cup\{n_0,n_1\mid n_0\in\orig(k_0,t)\land
-n_1\in\acqu(k_0,t)\})^\ast$,
+n_1\in\gain(k_0,t)\})^\ast$,
 \item $\fn{ht}(k_1,s)=
 \fn{ht}(k_0,s)$ for $s<|\fn{inst}(k_0)|$,
 \item $\fn{unique}(k_1)=\fn{unique}(k_0)$, and
@@ -1746,7 +1751,7 @@
 ordering relation.  That is, $n_0\kprec{k_0}n_1$ is the transitive
 closure of pairs such that
 either $n_0\kprec{k}n_1$ or for some $t\in unique(k)$, $t$ originates
-at $n_0$ and $n_1\in\acqu(k,t)$.  Let $\psi_0$ be the obvious
+at $n_0$ and $n_1\in\gain(k,t)$.  Let $\psi_0$ be the obvious
 embedding of $k$ into $k_0$.  We must show that $k_0$ is
 a skeleton.  It will be sufficient to check that we did not introduce
 any cycles into the node ordering.  But, in fact, if $\kprec{k_0}$
@@ -2068,9 +2073,7 @@
 message~$t'$ if~$t$ is carried by~$t'$ only within a member of~$T_e$.
 The definition of the carried only within ({\cow}) relation to follow makes
 this concept precise.  The concept is used when solving authentication
-tests (Section~\ref{sec:auth tests}) using contraction
-(Definition~\ref{def:contraction}) and augmentation
-(Definition~\ref{def:augmentation}).
+tests (Section~\ref{sec:auth tests}).
 
 The question of the protection of a critical message is posed within
 the context of a given pruned skeleton~$k$.  The message algebra is
@@ -2095,10 +2098,10 @@
 Definition~\ref{def:carried positions} defines $\fn{carpos}(t,t')$, the
 set of positions at which~$t'$ carries~$t$.
 
-A reduction on skeletons called a contraction will be described in the
-next section in Definition~\ref{def:contraction}.  For a contraction,
-given~$t$,~$T_e$, and~$t'$, one must find all most general
-unifiers~$\sigma$ such that~$\sigma(t)$ is carried only within
+The details of a reduction on skeletons called a augmentation will be
+described in Section~\ref{augmentations}.  In simplified form, for
+an augmentation, given~$t$,~$T_e$, and~$t'$, one must find all most
+general unifiers~$\sigma$ such that~$\sigma(t)$ is carried only within
 set~$\sigma(T_e)$ in~$\sigma(t')$.
 
 A carried only within solution cannot be directly computed using
@@ -2185,42 +2188,36 @@
 $(T_p,T_a)=\fn{dcmp}(k,n)$, so that~$T_p$ and~$T_a$ need not be
 recomputed.
 
-\begin{defn}[Critical Nonce]
-An atom~$t$ is a \emph{critical nonce} at unrealized reception
-node~$n$ in skeleton~$k$ if~$t$ is carried by $\fn{msg}(k,n)$,
-$t\in\fn{unique}(k)$,~$t$ originates in~$k$, $\fn{esc}(k,n,t)$ is
-defined, and~$t$ is not carried only within $\fn{esc}(k,n,t)$ in
-$\fn{msg}(k,n)$.
-\end{defn}
-
-\begin{defn}[Critical Encryption]
-An encryption~$t=\enc{t_0}{t_1}$ is a \emph{critical encryption} at
-unrealized reception node~$n$ in skeleton~$k$ if~$t$ is carried by
-$\fn{msg}(k,n)$,~$t_1$ is not derivable before~$n$ in~$k$,
-$\fn{esc}(k,n,t)$ is defined, and~$t$ is not carried only within
-$\fn{esc}(k,n,t)$ in $\fn{msg}(k,n)$.
-\end{defn}
-
-\begin{defn}[Critical Message]
-A message~$t$ is a \emph{critical message} at node~$n$ in skeleton~$k$
-if it is a critical nonce or a critical encryption.
+\begin{defn}[Critical Position]
+Position~$p$ is a \emph{critical position} of $t=\fn{msg}(k,n)$ if
+\begin{enumerate}
+\item $p$ is a carried position in~$t$,
+\item either $t\termat p\in\fn{unique}(k)$ and $t\termat p$ originates
+  in~$k$, or $t\termat p=\enc{t_0}{t_1}$ and~$t_1$ is not derivable
+  before~$n$ in~$k$,
+\item $\fn{esc}(k,n,t\termat p)$ is defined, and
+\item $\fn{anc}(t,p)\cap \fn{esc}(k,n,t\termat p)=\emptyset$.
+\end{enumerate}
 \end{defn}
 
-Observe that every critical message at a node in a skeleton is not
-derivable at the node.
+The message at a critical position is called a \emph{critical
+  message}.  It is a \emph{critical nonce} if the message is an atom,
+otherwise it is a \emph{critical encryption}.  Observe that every
+critical message at a node in a skeleton is not derivable at the node.
 
 \begin{thm}
-Every unrealized reception node has a critical message.
+A reception node is unrealized iff it has a critical position.
 \end{thm}
 
-\begin{defn}[Critical Message Solved]\label{def:critical message solved}
-Suppose~$t_0$ is a critical message at~$n_0$ in~$k_0$ and
-$k_0\homomorphism{\phi,\sigma}k_1$.  Let~$t_1=\sigma(t_0)$,
+\begin{defn}[Critical Position Solved]\label{def:critical position solved}
+Suppose~$p$ is a critical position at~$n_0$ in~$k_0$ and
+$k_0\homomorphism{\phi,\sigma}k_1$.  Let~$t_0=\fn{msg}(k,n)\termat p$,
+$t_1=\sigma(t_0)$,
 $T=\sigma(\fn{esc}(k_0,n_0,t_0))$, $n_1=\phi(n_0)$,
-and~$t=\fn{msg}(k_1,n_1)$.  Critical message~$t_0$ is solved in~$k_1$
+and~$t=\fn{msg}(k_1,n_1)$.  Critical position~$p$ is solved in~$k_1$
 after~$k_0$ at~$n_0$ if:
 \begin{enumerate}
-\item $t_1$ is carried only within~$T$ in~$t$, or
+\item $\fn{anc}(t,p)\cap T\neq\emptyset$, or
 \item for some~$t_p\in\fn{outpred}(k_1,n_1)$, $t_1$ is not carried
   only within~$T$ in~$t_p$, or
 \item the decryption key of a member of~$T$ is derivable
@@ -2231,14 +2228,15 @@
 \end{defn}
 
 \begin{defn}[Contraction]\label{def:contraction}
-Let~$t_c$ be a critical message at~$n$ in~$k$.  Suppose there is a
-substitution~$\sigma$ such that~$\sigma(t_c)$ is carried only
-within~$\sigma(\fn{esc}(k,n,t_c))$ in $\sigma(\fn{msg}(k,n))$.
+Let~$p$ be a critical position at~$n$ in~$k$, $t=\fn{msg}(k,n)$, and
+$T_e= \fn{esc}(k,n,t\termat p)$.  Suppose there is a
+substitution~$\sigma$ such that for some~$t_a\in\fn{anc}(t,p)$,
+$t_e\in T_e$, $\sigma(t_a)=\sigma(t_e)$.
 Skeleton~$k_1$ is a \emph{contraction} if
 $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
+{\cpsa} computes a set of substitutions for each critical position, and
 then removes some substitutions to form a complete set of most
 general unifiers.  Only most general unifiers are used for
 contractions.
@@ -2287,20 +2285,19 @@
 \end{defn}
 
 \begin{defn}[Cohort Member]
-For unrealized node~$n$ in a skeleton~$k_0$, and a critical
-message~$t$ at~$n$, $k_0\reduction{n,t}k_1$ asserts that $k_1$ is a
+For unrealized node~$n$ in a skeleton~$k_0$, and a position~$p$ at~$n$, $k_0\reduction{n,p}k_1$ asserts that $k_1$ is a
 member of the cohort of~$k_0$, where~$k_1$ is derived using
-contraction, regular augmentation, or listener augmentation, and~$t$
+contraction, regular augmentation, or listener augmentation, and~$p$
 is solved in~$k_1$ after~$k_0$ at~$n$.  For the setwise cohort member
-reduction, $\{k_0\}\setreduction{n,t}\{k_1\mid k_0\reduction{n,t}k_1\}$,
-when~$n$ is unrealized in~$k_0$, and~$t$ is a critical message at~$n$.
+reduction, $\{k_0\}\setreduction{n,t}\{k_1\mid k_0\reduction{n,p}k_1\}$,
+when~$n$ is unrealized in~$k_0$, and~$p$ is a critical position at~$n$.
 \end{defn}
 
 \begin{thm}[Cohort Correct]
-Let node~$n$ be unrealized in skeleton~$k$, and~$t$ be a critical
-message at~$n$.  For every realized skeleton~$k_1$ such that
+Let node~$n$ be unrealized in skeleton~$k$, and~$p$ be a critical
+position at~$n$.  For every realized skeleton~$k_1$ such that
 $k\homomorphism{\psi_1}k_1$, there is a~$k_0$,~$\psi_0$, and~$\psi$
-with $k\reduction{n,t}k_0$, $k\homomorphism{\psi_0}k_0$, and
+with $k\reduction{n,p}k_0$, $k\homomorphism{\psi_0}k_0$, and
 $\psi_1=\psi\circ\psi_0$.
 
 $$\xymatrix@C=3em{
@@ -2310,14 +2307,14 @@
 \end{thm}
 
 \begin{thm}[Cohort]
-Reduction $\setreduction{\fn{co}}=\bigcup_{n,t}\setreduction{n,t}$ is
+Reduction $\setreduction{\fn{co}}=\bigcup_{n,t}\setreduction{n,p}$ is
 confluent.
 \end{thm}
 
 \begin{thm}[Critical Message Solved]
-If $k_0\reduction{n_0,t_0}k_1 \reduction{n_1,t_1}\ldots
-\reduction{n_{\ell-1},t_{\ell-1}}k_\ell$ is a sequence of cohort member
-reductions, then for positive~$\ell$,~$t_0$ is solved in~$k_\ell$
+If $k_0\reduction{n_0,p_0}k_1 \reduction{n_1,p_1}\ldots
+\reduction{n_{\ell-1},p_{\ell-1}}k_\ell$ is a sequence of cohort member
+reductions, then for positive~$\ell$,~$p_0$ is solved in~$k_\ell$
 after~$k_0$ at~$n_0$.
 \end{thm}
 
@@ -2387,7 +2384,7 @@
 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)$.
+substitutions $S'=\fn{cowt}(t_c,T_e,\prefix{\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
@@ -2399,7 +2396,7 @@
 $(\sigma,i)$, where $\fn{role}(i)=r$, $\fn{height}(i)=n$,
 $\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)|_n$.
+$\sigma'\circ\prefix{\fn{rtrace}(r)}{n}$.
 
 \begin{note}
 For target terms to be the reasonable set for insertion of the
diff --git a/doc/cpsatheory.pdf b/doc/cpsatheory.pdf
new file mode 100644
Binary files /dev/null and b/doc/cpsatheory.pdf differ
diff --git a/doc/cpsatheory.tex b/doc/cpsatheory.tex
--- a/doc/cpsatheory.tex
+++ b/doc/cpsatheory.tex
@@ -5,7 +5,7 @@
 \usepackage[matrix,arrow,curve]{xy}
 
 \title{CPSA Theory}
-\author{John D. Ramsdell}
+\author{Moses Liskov\and John D. Ramsdell\and Paul Rowe}
 
 \input{macros}
 
@@ -16,11 +16,17 @@
 \newtheorem{defn}{Definition}[section]
 \newtheorem{conj}{Conjecture}[section]
 \newtheorem{prop}{Proposition}[section]
+\newtheorem{thm}{Theorem}[section]
+\newtheorem{lem}{Lemma}[section]
 
 \newcommand{\inv}[1]{\ensuremath{\cn{inv}(#1)}}
+\newcommand{\scap}[1]{\ensuremath{\mathop{\relax
+                    \smash{\mbox{\sc#1}}}\!\mathop{\vphantom{#1}}\nolimits}}
+\newcommand{\concat}{\frown}
 \newcommand{\gen}{\ensuremath{\cn{g}}}
 \newcommand{\expr}[2]{\ensuremath{{#1}^{#2}}}
 \newcommand{\sca}{\textsc{sca}}
+\newcommand{\bca}{\textsc{bca}}
 \newcommand{\alga}{\alg{A}}
 \newcommand{\tr}{\ensuremath{\mathfrak C}}
 \newcommand{\base}{\ensuremath{\mathfrak B}}
@@ -37,15 +43,19 @@
 \newcommand{\carpos}{\fn{carpos}}
 \newcommand{\esc}{\fn{esc}}
 \newcommand{\msg}{\fn{msg}}
+\newcommand{\aug}{\fn{aug}}
 \newcommand{\eo}{\fn{eo}}
 \newcommand{\ie}{\fn{ie}}
 \newcommand{\crit}{\fn{crit}}
+\newcommand{\critpos}{\fn{critp}}
 \newcommand{\anc}{\fn{anc}}
 \newcommand{\mcow}{\fn{cow}}
 \newcommand{\mncow}{\fn{ncow}}
 \newcommand{\sdom}{\fn{Dom}}
 \newcommand{\sran}{\fn{Ran}}
+\newcommand{\svars}{\fn{Vars}}
 \newcommand{\evt}{\fn{evt}}
+\newcommand{\mesg}{\fn{mesg}}
 \newcommand{\role}{\mathsf{r}}
 \newcommand{\skel}{\mathsf{k}}
 \newcommand{\rl}{\fn{rl}}
@@ -60,28 +70,28 @@
 \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
+attempts to produce a compact description of all possible 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.
+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:strand spaces and bundles} describes a
+bundle~\cite{ThayerEtal99,GuttmanThayer02}, 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}
+behavior are abstracted away.  Finally, Section~\ref{sec:auth tests}
 describes authentication tests.
 
 \section{Order-Sorted Message Algebras}\label{sec:order-sorted mesg algs}
@@ -94,60 +104,76 @@
 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.
+and sorts~\cite[Chapter~8]{RobinsonVoronkov01}.
 
 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.
+order-sorted quotient term algebras.  We use a simple message
+algebra called the Basic Crypto Algebra (\bca), which is the algebra
+used by CPSA.  
 
 \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}
+Sorts: \scap{name}, \scap{text}, \scap{data}, \scap{skey}, \scap{akey} $<$ \scap{mesg}\\[1ex]
+Base sorts: \scap{name}, \scap{text}, \scap{data}, \scap{skey}, \scap{akey}\\
+Carried positions: $\bullet$ denotes a carried position.\\[1ex]
+\begin{tabular}{@{}ll}
+$\enc{\bullet}{(\cdot)}\colon\scap{mesg}\times\scap{mesg}\rightarrow\scap{mesg}
+$&Encryption\\
+$(\bullet,\bullet)\colon\scap{mesg}\times\scap{mesg}\rightarrow\scap{mesg}$
+&Pairing\\
+``\ldots''$\colon{}\scap{mesg}$& Tag constants\\
+$K_{(\cdot)}\colon\scap{name}\rightarrow\scap{akey}$
+&Public key of name\\
+$(\cdot)^{-1}\colon\scap{akey}\rightarrow\scap{akey}$
+&Inverse of key\\
+$\cn{ltk}(\cdot,\cdot)\colon\scap{name}\times\scap{name}\rightarrow\scap{skey}$
+& Long term key
+\end{tabular}\\[1ex]
+Equation: $(x^{-1})^{-1} \approx x$ for $x\colon\scap{akey}$
+\caption{Basic Crypto Signature and Equation}\label{fig:bcs}
 \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
+
+There are six {\bca} sorts: $\scap{mesg}$, the sort of all messages, 
+$\scap{skey}$, the sort of symmetric keys, $\scap{akey}$, the sort of asymmetric keys, 
+$\scap{name}$, the sort of participant names, and $\scap{text}$ and $\scap{data}$
+for ordinary values.  All sorts are subsorts of $\scap{mesg}$.
+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.
+Figure~\ref{fig:bcs}.  
 
 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$.
+$x\colon s$.  Variable set~$X$ is an indexed set of sets of variables,
+$X_s=\{x\mid x\colon s\}$.  For {\bca}, $X_{\scap{mesg}}$, $X_{\scap{skey}}$, 
+$X_{\scap{akey}}$, $X_{\scap{name}}$, $X_{\scap{text}}$, and
+$X_{\scap{data}}$
+partition the set of variables in~$X$.  The set of variables in~$X$
+is $\svars(X)$.
 
 \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\}
+\alga_{\scap{skey}}&\{\{x\}\mid x \in X_{\scap{skey}}\} \cup \{\{\cn{ltk}(a,b)\}\mid a \in X_{\scap{name}}, b \in X_{\scap{name}}\}\\
+\alga_{\scap{akey}}&\begin{array}[t]{@{}l}
+\{\{x^{-2n}\mid n\in\nat\}\mid x\in X_{\scap{akey}}\}\\
+\quad{}\cup\{\{x^{-2n-1}\mid n\in\nat\}\mid x\in X_{\scap{akey}}\}\\
+\quad{}\cup\{\{K_x^{-2n}\mid n\in\nat\}\mid x\in X_{\scap{name}}\}\\
+\quad{}\cup\{\{K_x^{-2n-1}\mid n\in\nat\}\mid x\in X_{\scap{name}}\}\\
 \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
+\alga_{\scap{name}}&\{\{x\}\mid x \in X_{\scap{name}}\}\\
+\alga_{\scap{text}}&\{\{x\}\mid x \in X_{\scap{text}}\}\\
+\alga_{\scap{data}}&\{\{x\}\mid x \in X_{\scap{data}}\}\\
+\scap{Tags}&\{\{x\}\mid x \hbox{ is a tag constant }\}\\
+\base&\alga_{\scap{skey}} \cup \alga_{\scap{akey}} \cup \alga_{\scap{name}} \cup \alga_{\scap{text}} \cup \alga_{\scap{data}}\\
+\alga^0&\base\cup \{\{x\}\mid x\in X_{\scap{mesg}}\} \cup \scap{Tags}\\
+\alga^{n+1}&\alga^n
 \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\}\\
+ T_0\in\alga^n,T_1\in\alga^n\}\\
 {}\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\}
+ T_0\in\alga^n,T_1\in\alga^n\}
 \end{array}\\
-\alga = \alga_\top&\bigcup_{n\in\nat}\alga^n_\top
+\alga = \alga_{\scap{mesg}}&\bigcup_{n\in\nat}\alga^n
 \end{array}$$
-\caption{{\sca} Messages~$\alga$ and Atoms~$\base$}\label{fig:algebra}
+\caption{{\bca} Messages~$\alga$ and Atoms~$\base$}\label{fig:algebra}
 \end{figure}
 
 The Simple Crypto Quotient Term Algebra~$\alga$ generated by variable
@@ -160,21 +186,20 @@
 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$.
+Keys, names, data, and texts in the algebra are called \emph{atoms} and
+are members of~$\base$.  We write $t\colon\base$ iff $t\colon S$ for 
+some $S \neq \scap{mesg}$.  Note that encryption is defined with an 
+encryption key of sort $\scap{mesg}$.  When the encryption key is of sort
+$\scap{akey}$ this is meant to model asymmetric encryption: otherwise,
+this models symmetric encryption.  Note that even complex messages such
+as encryptions can be used as encryption keys in the symmetric sense.
 
-An important property possessed by the algebra is that the terms that
-make up a message either are all encryptions or are never encryptions.
+An important property possessed by the algebra is that for all $T\in\alga$,
+if there are any encryptions in $T$ then all members of $T$ are 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.
+atoms, not arbitrary messages.  A similar property holds for pairs.
 
 We write $\alga_X$ when it is important to identify the variable
 set~$X$ that generates the algebra.  Given two variable sets~$X$
@@ -194,6 +219,12 @@
 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$.
 
+The concatenation of sequences~$f_0$ and~$f_1$ is~$f_0\append f_1$.
+When the context distinguishes sequences and their elements, such as
+for sequences of integers, we often write $f_0\append 1 \append f_1$
+instead of $f_0\append\seq{1}\append f_1$.  The prefix of sequence~$f$
+of length~$n$ is~$\prefix{f}{n}$.
+
 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}
@@ -226,7 +257,8 @@
 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)$.
+then $\carpos(t_0,t'_0)= \carpos(t_1,t'_1)$.  We write $t' \sqsubseteq_p t$
+when $p \in \carpos(t',t)$ and $t \termat p \equiv t'$.
 
 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.
@@ -242,8 +274,10 @@
 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.
+\emph{gained} by a trace if it is carried by some event and the first
+event in which it is carried is inbound.  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
@@ -255,10 +289,14 @@
 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}.
+|\Theta(s)|\}$, the event at a node is
+$\evt_\Theta(s,i)=\Theta(s)(i)$, and the message at a node is
+$\mesg_\Theta(s,i) = m$ such that $\evt_\Theta(s,i) = \pm m$.  Just as
+a position names a subterm within another term, a strand names a trace
+within a strand space, and a node names an event in a strand space.
+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
@@ -287,24 +325,26 @@
 $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$ is not carried in $C$, and all variables in $N$ 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.
+roles.  Let $\svars(P)$ be the set of variables that occur in the
+traces of the roles in protocol~$P$.
 
-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
+A bundle~$\Upsilon(\Theta_X,\to)$ is a \emph{run of protocol} $P$ if
+there is a role mapping $\rl\colon\Theta_X\to P$ 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, and let
+$h=|\Theta_X(s)|$, the properties are (1) $h\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}.
+$\comp{\sigma}{\prefix{C}{h}}=\Theta_X(s)$, (3) $\sdom(\sigma)$ is the
+set of variables that occur in~$\prefix{C}{h}$, (4) if the variables
+in $t\in N$ occur in $\sdom(\sigma)$, then $\sigma(t)$ is
+non-originating in $\Upsilon(\Theta_X,\to)$, and (5) if $t\in U$
+originates at index~$i$ in~$C$, and $i\leq h$, 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}
 
@@ -349,10 +389,11 @@
 \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
+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,
+$\skel_X(\rl,P,\Theta_X,\prec,N,U)$, where $\rl\colon\Theta_X\to
+P$ is a role map, the sets~$\svars(X)$ and~$\svars(P)$ are disjoint,
 $\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
@@ -362,8 +403,9 @@
 
 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)$
+sequence~$\Theta_X$, and $\rl$ demonstrates the bundle is a run of
+protocol~$P$.  Let~$P'$ be~$P$ without penetrator roles.
+Skeleton $\skel_X(\rl',P',\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
@@ -372,11 +414,11 @@
 $\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.
+A protoskeleton $\skel_X(\rl,P,\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.
+  satisfy the conditions for being a part of a run of protocol~$P$.
 \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
@@ -388,16 +430,18 @@
   the role map.
 \end{enumerate}
 
+\begin{sloppypar}
 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
+preskeleton~$k$, and~$\gain_k(t)$ be the set of nodes at which~$t$ is
+gained in~$k$.  Preskeleton $\skel_X(\rl,P,\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)$
+and the node of origination precedes each node that gains the atom,
+i.e.\@ for every~$t\in U$, $n_0\in\orig_k(t)$ and $n_1\in\gain_k(t)$
 implies~$n_0\prec n_1$.
+\end{sloppypar}
 
-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
+Let $k_0=\skel_X(rl_0,P,\Theta_0,\prec_0,N_0,U_0)$ and
+$k_1=\skel_Y(rl_1,P,\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:
@@ -434,9 +478,14 @@
 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
+  listeners $\Upsilon$}\}$$ A {\cpsa} algorithm is \emph{complete} if
+when given a preskeleton~$k_0$, either the algorithm diverges, or else it
+terminates and produces a finite set of realized skeletons~$K$, such
+that $\sembrack{k_0}=\bigcup_{k_1\in K}\sembrack{k_1}$.
+
+Let~$\longrightarrow$ be an irreflexive reduction relation on
+preskeletons.  The relation~$\longrightarrow$ is \emph{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}
@@ -460,7 +509,9 @@
 $$\begin{array}{r@{}ll}
 \skel_Z(
 &\seq{\init(a_0,b_0,m_0),\lsn(x)},
-&\mbox{Roles}\\
+&\mbox{Role map}\\
+&\{\init(a_0,b_0,m_0),\resp(a_1,b_1,m_1),\lsn(x)\},
+&\mbox{Protocol}\\
 &\seq{\seq{\outbnd\enc{\enc{m}{b},a}{b}},\seq{\inbnd m}},
 &\mbox{Strands}\\
 &\emptyset,
@@ -511,6 +562,7 @@
 $\begin{array}[t]{@{}r@{}l}
 k=\skel_X(
 &\seq{\init(a,b),\resp(a,b),\resp(a,b)},\\
+&\{\init(a,b),\resp(a,b)\},\\
 &\seq{\begin{array}[t]{@{}l}
 \seq{\outbnd(x,y),\inbnd(y,x)},\\
 \seq{\inbnd(x,y),\outbnd(y,x)},\\
@@ -555,7 +607,7 @@
 \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
+$k=\skel(\rl,P,\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
@@ -567,31 +619,53 @@
 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'$.
+$\pubmsg_k(n)=\transpred_k(n)\cup(\base\setminus\excl_k)\cup X_{\scap{mesg}} \cup \scap{Tags}$.
 
-Three penetrator roles construct messages.
+The penetrator roles derive 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
+D^0(T)&T\\
+D^{n+1}(T)&\left\{\begin{array}{r@{{}\mid{}}l}
+(t_0,t_1)&t_0,t_1\in D^n(T)\\
+\enc{t_0}{t_1}&t_0,t_1\in D^n(T)\\
+t_0,t_1 &(t_0,t_1) \in D^n(T)\\
+t_0 & \enc{t_0}{t_1}, inv(t_1) \in D^n(T)
 \end{array}\right\}\\
 D(T)&\bigcup_{n\in\nat}D^n
 \end{array}$$
+
+Here, $inv(t_1)$ is defined to be $t_1^{-1}$ if $t_1 : \scap{akey}$, and
+$inv(t_1)$ is otherwise defined to be $t_1$ so long as $t_1 \notin X_{\scap{mesg}}$.
 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$.
 
+Sometimes we may be interested in separating the notion of available messages
+from the notion of the \emph{context}, which defines the set of derivable keys.
+$$\begin{array}{r@{{}={}}l}
+D^0(T,S)&T\\
+D^{n+1}(T,S)&\left\{\begin{array}{r@{{}\mid{}}l}
+(t_0,t_1)&t_0,t_1\in D^n(T,S)\\
+\enc{t_0}{t_1}&t_0,t_1\in D^n(T,S)\\
+t_0,t_1 &(t_0,t_1) \in D^n(T,S)\\
+t_0 & \enc{t_0}{t_1} \in D^n(T,S), S \vdash inv(t_1)
+\end{array}\right\}\\
+D(T)&\bigcup_{n\in\nat}D^n
+\end{array}$$
+
+In what follows, we find it useful to discuss the ``minimum decryptions''
+available - that is, the messages we get by applying as much deconstruction as 
+possible.  We also are sometimes interested in this calculation when the set
+of messages available for deriving keys is distinct from the set of available
+messages.  Let $\to$ be a reduction relation on pairs of sets of messages defined 
+as follows:
+$$\begin{array}{r@{{}\to{}}ll}
+(\{(t_0,t_1)\}\cup T, S)&(\{t_0,t_1\}\cup T, S)\\
+(\{\enc{t_0}{t_1}\}\cup T, S)&(\{t_0,\enc{t_0}{t_1}\}\cup T, S)\\
+&\mbox{if $t_1^{-1}\in D(S)$ and $t_0\notin T$}
+\end{array}$$
+The minimum decryption set~$(M(T,S),S)$ is the normal form of relation~$\to$,
+i.e.\ $(T,S)\to^\ast (M(T,S),S)$ and there is no~$(T',S')$ such that $(M(T,S),S)\to(T',S')$.
+Define $M(T)$ to be $M(T,T)$, and define $M(t,S)$ to be $M(\{t\},S)$.  
+
 \section{Authentication Tests}\label{sec:auth tests}
 
 In a realized skeleton, the message at every reception node is
@@ -614,7 +688,7 @@
 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
+X_{\scap{mesg}}\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.
@@ -635,17 +709,21 @@
 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.
+Let~$S$ and~$S'$ be sets of public messages.  
+The \emph{escape set} for~$t$ in messages $S$ in context $S'$ is 
+$E(S,S',t)=\{\enc{t_0}{t_1}\in M(S,S') \mid
+t\sqsubseteq t_0\wedge S\not\vdash t^{-1}_1\}$ when $t\notin M(S,S')$.
+Otherwise, $E(S,S',t) = \{t \}$.
 \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
+We use the notation $E(S,t)$ as shorthand for $E(S,S,t)$; normally,
+the context is the set of messages.
+
+The intuition is that, a message~$t_c$ that is carried by the message
+at~$n$ is critical when the contents of the escape set $E(\pubmsg_n(k),t_c)$ 
+cannot be used to derive~$\fn{mesg}(n)$.  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.
 
@@ -665,44 +743,437 @@
 
 \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
+set $\anc(t,p)=\{t\termat p'\mid \mbox{$p'$ a 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$.
+Term~$t$ is \emph{carried only within} $T$ in~$t'$, written
+$\mcow(t,T,t')$, if $p\in\carpos(t,t')$ implies
+$\anc(t',p)\cap T\neq\emptyset$. Term~$t$ \emph{escapes} $T$ in $t'$, 
+written $\mncow(t,T,t')$, if
+$\lnot(\mcow(t,T,t'))$, and therefore $\mncow(t,T,t')=\some{p} \in
+\carpos(t,t')$ such that $\anc(t',p)\cap T=\emptyset$.
 \end{defn}
 
+\begin{lem}
+\label{lem:cowtrans}
+If for every $u \in U$ we have that $\mcow(t_c,T,u)$, and we have that $\mcow(t_c,U,t')$ then $\mcow(t_c,T,t')$
+\end{lem}
+
+\begin{proof}
+Let $p$ is a carried position of $t_c$ in $t'$.  There is some ancestor $u_e \in \anc(t',p)$ equivalent to
+a member of $U$.  This ancestor $u_e$ occurs at positions $p'$ in $t'$ where $p'$ is a prefix of $p$.  Let
+$p = p' \append p''$; then since $\mcow(t_c,T,u_e)$ there is an ancestor $t_e \in \anc(u_e, p'')$ equivalent
+to a member of $T$.  But $t_e \in \anc(t',p)$ so this occurrence of $t_c$ is carried within $T$.
+\end{proof}
+
+\begin{lem}
+\label{lem:escapesetcow}
+For any set of messages $S$, If $T_0 \subset T_1$ then for every $t_c$, for every $t \in E(S,T_0,t_c)$,
+$\mcow(t_c,E(S,T_1,t_c),t)$.
+\end{lem}
+
+\begin{proof}
+Let $t \in E(S,T_0,t_c)$ and let $p \in \fn{carpos}(t_c,t)$.  Note that $M(S,T_0) \subset D(S,T_1)$, 
+since the enlarged context allows for possibly some more decryptions to be done, but all decryptions
+that can be done with the smaller context can still be done.  
+
+If $t$ is an atom, it must be $t_c$, and therefore, $D(S,T_0) \vdash t_c$ so $D(S,T_1) \vdash t_c$, 
+and $t_c$ is a (non-proper) ancestor of itself.
+
+Otherwise, $t = \enc{t_0}{t_1}$.  Since $t \in E(S,T_0,t_c)$, $t \in M(S,T_0)$ and thus $t \in M(S,T_1)$.
+If $T_1 \not\vdash t_1^{-1}$ then $t \in E(S,T_1,t_c)$ and so $p$ is carried within.  Otherwise, 
+one of two cases must happen: (1) $\exists t' = \enc{t'_0}{t'_1}$ in $\anc(t,p)$ such that $T_1 \not\vdash 
+{t'_1}^{-1}$ or (2) $t_c \in E(S,T_1,t_c)$.  In the latter case, $t_c \in \anc(t,p)$ so $p$ is carried within.
+In the former case, assume $t'$ is the largest such ancestor: then $t' \in E(S,T_1,t_c)$ and $t' \in \anc(t,p)$,
+so $p$ is carried within.
+\end{proof}
+
+In particular, the previous two lemmas imply that if $n' \prec n$ then for any set of messages $S$,
+and any $t_c$ and any $t'$, if $\mcow(t_c, E(S,\pubmsg_k(n'),t_c), t')$ then $\mcow(t_c, E(S,\pubmsg_k(n),t_c), t')$.
+
+\begin{lem}
+\label{lem:escapeset}
+Let $S$ be a set of available messages and let $t_c$ be a term such that either $t_c$ is an atom
+or $t_c = \enc{t_0}{t_1}$ with $S \not\vdash t_1$.  Then if $S \vdash t$ and $t_c \sqsubseteq t$,
+$\mcow(t_c,E(S,t_c),t)$.
+\end{lem}
+
+\begin{proof}
+If $t$ is an atom, it cannot be derived from terms not carrying it.
+If $t$ is an encryption, it can be derived from non-carrying terms
+only if its key is derivable.
+
+Suppose $t \in D^n(S)$; we prove the theorem by induction.  For $n =
+0$, $D^0(S) = M(S)$.  Suppose that $t_c \sqsubseteq_p t$.  Then
+consider $\anc(t,p)$---the
+encryptions on the path from $t_c$ to $t$, including $t_c$.  The
+minimal such encryption such that $t_1^{-1}$ is not derivable from $S$
+will be in $E(S,t_c)$.  Thus, any carried position of $t_c$ within $t$
+is carried within $E(S,t_c)$.
+
+Suppose $t \in D^n(S)$ but $t \notin D^{n-1}(S)$.  Then either $t =
+(t_0, t_1)$ where $t_0, t_1 \in D^{n-1}(S)$, or $t = \enc{t_0}{t_1}$
+where $t_0, t_1 \in D^{n-1}(S)$.  In the former case, we must have
+that if $t_c \sqsubseteq_p t$ then either $p = 1 \append p'$ and $t_c
+\sqsubseteq_{p'} t_0$, or $p = 2 \append p'$ and $t_c \sqsubseteq_{p'}
+t_1$.  In either case, there is some ancestor of $p$ which is an
+ancestor of $p'$ within $t_0$ or $t_1$, in $E(S,t_c)$ by inductive
+assumption.  The case for $t = \enc{t_0}{t_1}$ is similar but since
+only the plaintext of an encryption is carried, all carried positions
+are of the form $1 \append p'$ where $t_c \sqsubseteq_{p'} t_0$.
+\end{proof}
+
+\begin{defn}[Target terms]
+Let $T$ be a set of terms, and let $t_c$ be a term.  Then the
+set of {\em target terms} containing $t_c$ within $T$, denoted
+$\fn{targ}(t_c,T)$ is the set
+$\{t | \exists t' \in T: t_c \sqsubseteq t \sqsubseteq t'$ but $t \notin T\} \cup \{t_c\}$.  
+\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.
+its subterms.  Here we define the notion of a critical position:
 
-\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{defn}[Critical Position]
+Position $p$ is a \emph{critical position} of~$t$ in the context of
+public messages~$S$, written $p\in\critpos(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}
+\item $p$ is a carried position in $t$
+\item $t \termat p$ is an atom or $t \termat p = \enc{t_0}{t_1}$ and $S \not\vdash t_1$, and
+\item $\anc(t,p) \cap E(S,t \termat p) = \emptyset$.
+\end{enumerate} \end{defn}
 
+A critical message is $t \termat p$ where $p$ is a critical position.
+
 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.$
+$\evt_k(n)=\inbnd t$ and $\critpos(\pubmsg_k(n),t)\neq\emptyset.$
 \end{defn}
 
+{\cpsa} makes progress by solving a test.  Suppose~$p$ is a critical
+position at~$n$ in~$k$, i.e.\ $\evt_k(n)=\inbnd t$ and
+$p\in\critpos(\pubmsg_k(n),t)$, and suppose
+$k\homomorphism{\phi,\sigma}k'$.  Let $T=
+E(\pubmsg_k(n),t \termat p)$, $T'=\sigma(T)$, $n'=\phi(n)$, and
+$t' = \mesg_{k'}(n')$.  Position~$p$ at~$n$ in~$k$ is
+\emph{solved} in~$k'$, written $k\solve{n,p}k'$, if there exists a $(\phi,\sigma)$
+such that:
+\begin{enumerate}
+\item\label{enu:contract} $\anc(t',p) \cap T' \neq \emptyset$, or
+\item\label{enu:augment} for some $t_p\in\transpred_{k'}(n')$,
+$\mncow(t' \termat p,T',t_p)$, or
+\item[2a.]\label{enu:augment2} $\fn{targ}(t'_c,T') \setminus
+\sigma(\fn{targ}(t_c,T)) \neq \emptyset$, 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' \termat p=\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 produce a set of realized skeletons that describe every
+possible bundle associated with an initial skeleton whenever {\cpsa}
+terminates.
+
+\begin{thm}
+For any skeleton $k$ with an unrealized node $n$ and a critical position
+$p$ at $n$ in $k$,
+$\sembrack{k}=\bigcup_{k'\in\{k'\mid k\solve{n,p}k'\}}\sembrack{k'}$.
+\end{thm}
+
+\begin{proof}
+Let $k$ be a skeleton in which $n$ is an unrealized node, and $t_c$ is a
+critical message at $n$ in $k$.  Let $t$ be the message at $n$.  Let $k'$ be the
+skeleton of a bundle such that $k \homomorphism{\phi,\sigma} k'$.
+Let $n' = \phi(n)$, let $t' = \sigma(t)$.
+Let $T = E(\pubmsg_k(n),t \termat p)$, and let $T' = \sigma(T)$.  Let $S' = \pubmsg_{k'}(n')$.
+
+Let $t_c = t \termat p$ and $t'_c = t' \termat p$.
+Because $k'$ is the skeleton of a bundle, there is no critical message at $n'$.  Therefore,
+$t'_c$ is not a critical message at $n'$ in $k'$.  That is, there is no position $p'$ such that
+$t' \termat p' = t'_c$ and $p'$ is a critical position at $n'$ in $k'$.
+
+If $t'_c = \enc{t_0}{t_1}$ and $S' \vdash t_1$ then by condition 4 of the solved definition,
+$k\solve{n,p}k'$.
+
+Otherwise, $\mcow(t'_c, E(S',t'_c), t')$.
+
+Suppose that $\forall t_e \in E(S',t'_c)$, $\mcow(t'_c, T', t_e)$.  Since we know $\mcow(t'_c, E(S', t'_c), t')$,
+by Lemma~\ref{lem:cowtrans}, $\mcow(t'_c, T', t')$.  Thus, since $t' \termat p = t'_c$, $\anc(t',p) \cap T' \neq \emptyset$
+and thus $k\solve{n,t_c}k'$ by condition (1) of the definition of solved.
+
+Otherwise, there is some $t_e \in E(S', t'_c)$ such that $\mncow(t'_c, T', t_e)$.  If $t_e$ is not an encryption,
+it must be that $E(S', t'_c) = \{ t'_c \}$ and that $t'_c$ is an atom.  In this case, note that $t'_c \in \excl_{k'}$
+because $t_c \in \excl_k$ and because $(\phi,\sigma)$ is a homomorphism.  Thus, regardless of whether $t_e$ is an
+encryption or not, $(\base\setminus\excl_k)\cup X_{\scap{mesg}} \not\vdash t_e$, but since $t_e \in E(S', t'_c)$, we know
+that $t_e \in M(S')$.  Therefore, $t_e$ can be derived from some public message.
+
+To make this precise, define $M_0(t_p,S')$ recursively as follows:
+
+\begin{itemize}
+\item $t_p \in M_0(t_p,S')$.
+\item If $\enc{t_0}{t_1} \in M_0(t_p,S')$ and $S' \vdash t_1^{-1}$ then $t_0 \in M_0(t_p,S')$.
+\item If $(t_0, t_1) \in M_0(t_p,S')$ then $t_0, t_1 \in M_0(t_p,S')$.
+\end{itemize}
+
+Then define $M(t_p,S')$ to be the all the non-pairs in $M_0(t_p,S')$.
+
+In other words, $M(t_p,S')$ is the portion of $M(S')$ derivable from $t_p$ using keys derivable from $S'$.  It is clear that
+$M(S') = M((\base\setminus\excl_k)\cup X_{\scap{mesg}}) \cup_{t_p \in \transpred_{k'}(n')} M(t_p,S')$.  So let $t_p$ be such that $t_e
+\in M(t_p,S')$.
+
+Define $q$ to be a position such that $t_p @ q = t_e$ and such that for every proper prefix $q''$ of $q$, either $t_p @ q''$
+is a pair, or $t_p @ q'' = \enc{t_0}{t_1}$ where $S' \vdash t_1^{-1}$ and where $q'' \frown 1$ is also a prefix of $q$.
+In other words, let $q$ be a position at which $t_e$ is carried in $t_p$ {\em and} derivable.  We know such a $q$ must exist
+because $t_e \in M(t_p,S')$.
+
+Since $\mncow(t'_c, T', t_e)$, let $q'$ be a carried position of $t'_c$ within $t_e$ such that no ancestor is in $T'$.  Consider
+position $q \append q'$.  If there is some position $q \append q''$ for $q''$ a prefix of $q'$ such that $t_p \termat q \append
+q''$ is in $T'$ then the same could be said of $t_e \termat q''$, but this would be a contradiction.  So either there is
+no ancestor in $\anc(t_p, q \append q')$ equivalent to a member of $T'$ (in which case $k\solve{n,p}k'$ by condition (2)
+of the definition of solved), or there is some position $q''$ such that $t_p \termat q''$ is equivalent to some $u \in T'$.
+By our choice of $q$, and by the fact that any such $u$ must necessarily be an encryption\footnote{The only case in which a
+value in $T'$ is not an encryption is when $t_c \in M(S)$ and $t_c$ is an atom, which we know is false here.}, it follows that
+$u = \enc{t_0}{t_1}$ where $S' \vdash t_1^{-1}$.  In this case, $k\solve{n,p}k'$ by condition (3) of the definition of solved.
+
+Thus allows us to conclude that for every bundle $\Upsilon$ denoted by $k$, there is a skeleton $k'$,
+namely, the skeleton of $\Upsilon$, such that $k\solve{n,t_c}k'$.  Since $\Upsilon$ is denoted by $k'$,
+this proves that $\sembrack{k} \subseteq \bigcup_{k'\in\{k'\mid k\solve{n,t_c}k'\}}\sembrack{k'}$.  The other direction
+is far simpler: we just note that for each $k'$ such that $k\solve{n,t_c}k'$, there is a homomorphism
+from $k$ to $k'$, so the set of bundles denoted by $k'$ is a subset of those denoted by $k$.  This completes the proof.
+
+\end{proof}
+
+\section{Test Solving Algorithm}
+
+\emph{Intro text missing.}
+
+\subsection{Primitive Preskeleton Operators}
+
+The are four primitive operators on preskeletons used by {\cpsa} to
+solve authentication tests.  Each operator is a partial map from
+preskeletons to preskeletons.
+
+\begin{defn}[Substitution Operator]
+For order-sorted substitution~$\sigma\colon X\to\alg{A}_Y$,
+the operator~$\ops{S}_\sigma$ is:
+$$\begin{array}{l}
+\ops{S}_\sigma(\skel_X(\rl,P,\Theta_X,\prec,N,U)) = {}\\
+\quad\skel_Y(\rl,P,
+s\mapsto \comp\sigma{\Theta_X(s)},\prec,\sigma(N), \sigma(U))
+\end{array}$$
+\end{defn}
+
+For $k'=\ops{S}_\sigma(k)$, there is a homomorphism from~$k$ to~$k'$
+only if for all $t\in U_k$, $\orig_k(t)\subseteq\orig_{k'}(\sigma(t))$.
+
+\begin{defn}[Compression Operator]
+For distinct strands~$s$ and~$s'$, operator~$\ops{C}_{s,s'}$
+compresses strand~$s$ into~$s'$.
+$$\begin{array}{l}
+\ops{C}_{s,s'}(\skel_X(\rl,P,\Theta_X,\prec,N,U)) = {}\\
+\quad \skel_X(\comp\rl{\phi'_s},P,
+\comp{\Theta_X}{\phi'_s},\prec',N,U)
+\end{array}$$
+where
+$$\begin{array}{r@{}c@{}l}
+\phi'_s(j)&{}={}&\left\{
+\begin{array}{ll}
+j+1&\mbox{if $j\geq s$}\\
+j&\mbox{otherwise,}
+\end{array}\right.
+\end{array}$$
+relation $\prec'$ is the transitive closure of $\phi_{s,s'}(\prec)$, and
+$$\begin{array}{r@{}c@{}l}
+\phi_{s,s'}(j)&{}={}&\left\{
+\begin{array}{ll}
+\phi_s(s')&\mbox{if $j=s$}\\
+\phi_s(j)&\mbox{otherwise}
+\end{array}\right.\\
+\phi_s(j)&{}={}&\left\{
+\begin{array}{ll}
+j-1&\mbox{if $j>s$}\\
+j&\mbox{otherwise.}
+\end{array}\right.
+\end{array}$$
+\end{defn}
+
+The compression operator is only used when $\Theta_X(s)$ is a prefix
+of $\Theta_X(s')$, and when there is a homomorphism from~$k$ to
+$\ops{C}_{s,s'}(k)$.  Note that the compression operator is defined
+only when relation~$\prec'$ is asymmetric, and
+that $\comp{\phi_{s,s'}}{\phi'_s}=\idphi$.
+
+\begin{defn}[Ordering Enrichment Operator]
+Operator~$\ops{E}(k)$ enriches~$\kprec{k}$ by adding all elements implied
+by unique origination.
+\end{defn}
+The ordering enrichment operator is total and idempotent.
+
+\begin{defn}[Augmentation Operator]
+For node~$n$, role~$r$, and trace~$C$, operator~$\ops{A}_{n,r,C}$ is:
+$$\begin{array}{l}
+\ops{A}_{n,r,C}(\skel_X(\rl,P,\Theta_X,\prec,N,U)) = {}\\
+\quad\skel_{X'}(\rl\append r,P,
+\Theta_X(s)\append C,\prec',N',U')
+\end{array}$$
+where $X'$ is $X$ extended to include the variables in~$C$,
+$\prec'$ is the minimal extension of $\prec$ such that
+$(|\Theta_X|+1,|C|)\prec' n$, $N'$ is $N$ extended with
+non-origination assumptions inherited from~$r$ by~$C$, and likewise
+for~$U'$.
+\end{defn}
+
+\subsection{Hulling Step}
+
+For preskeleton~$k=\skel(\_,\_,\Theta_k,\_,\_,U_k)$, assume $t\in U_k$
+originates on distinct strands~$s$ and~$s'$, and the height of~$s$ is
+no greater than the height of~$s'$.  Operator
+$\ops{H}_{s,s'}=\comp{\ops{C}_{s,s'}}{\ops{S}_\sigma}$ is a hulling
+step if there is a most general unifier~$\sigma$ such that
+$\comp\sigma{\Theta_k(s)} = \comp\sigma{\prefix{\Theta_k(s')}{h}}$
+with $h=|\Theta_k(s)|$, and there is a homomorphism from~$k$ to
+$\ops{H}_{s's'}(k)$.
+
+\subsection{Pruning Step}
+
+For preskeleton~$k=\skel(\_,\_,\Theta_k,\_,\_,U_k)$, assume
+strands~$s$ and~$s'$ are distinct, and the height of~$s$ is
+no greater than the height of~$s'$.  Operator
+$\ops{P}_{s,s'}=\comp{\ops{C}_{s,s'}}{\ops{S}_\sigma}$ is a pruning
+step if there is a sort preserving variable renaming~$\sigma$ such
+that $\comp\sigma{\Theta_k(s)} = \prefix{\Theta_k(s')}{h}$ with
+$h=|\Theta_k(s)|$, and two homomorphisms.  Let $k'=\ops{P}_{s,s'}(k)$
+and $\phi=\phi_{s,s'}$.  The required homomorphisms are
+$k\homomorphism{\phi,\sigma}k'$ and $k'\homomorphism{\phi',\sigma'}k$
+such that $\phi\circ\phi'=\idphi$ and $\sigma\circ\sigma'=\idsigma$.
+
+\subsection{Augmentation Step}\label{sec:aug step}
+
+An augmentation step is used to add a strand to a skeleton.  An
+augmentation step has the form
+$k\mapsto\ops{H}_k(\ops{A}_{n,r,C}(\ops{S}_\sigma(k)))$ , where
+$\ops{H}_k$ is a slight variation on a hulling step.  For now, ignore
+augmentation parameters $n$, $r$, $C$, and $\sigma$, and focus
+on~$\ops{H}_k$.  Let
+$k'=\ops{H}_k(\ops{A}_{n,r,C}(\ops{S}_\sigma(k)))$.  An augmentation
+step is defined only if there is a homomorphism from~$k$ to~$k'$.
+Operator~$\ops{H}_k$ always focuses on the added strand, and does not
+require that nodes at which a uniquely originating atom originates on
+the added strand is preserved.  In other words, for
+$k'=\ops{H}_k(k'')$, $\ops{H}_k$ requires there be a homomorphism
+from~$k$ to~$k'$, but not one from~$k''$ to~$k'$.  There also must be a
+homomorphism from~$k$ to~$\ops{S}_\sigma(k)$.
+
+Suppose skeleton~$k=\skel_X(\_,P,\_,\_,\_,\_)$ has a critical
+position~$p$ at node~$n$, and $t_c=\mesg_k(n)\termat p$ is the
+critical message.  {\cpsa} computes the parameters for a set of
+augmentation steps as follows.  First, compute the target messages.
+Let $T_e=E(\pubmsg_k(n), t_c)$.  The target messages are $\fn{targ}(t_c, T_e)$.
+Next, for each $\role_Y(C,N,U)\in
+P$ and each index~$h$ where $C(h)=\outbnd t$, a transmission, do the
+following.
+\begin{description}
+\item[Create fresh variables:]
+Let~$\sigma_r$ be a sort preserving variable renaming,
+where the domain is the variables that occur in $\prefix C h$, and every
+variable in the range does not occur in~$\svars(X)$ or~$\svars(P)$.
+
+\item[Insert critical message:] For each message~$t'$ carried by~$t$,
+  and each~$t_t\in \fn{targ}(t_c, T_e)$, consider most general unifiers~$\sigma'$
+  where, $\sigma'(t')=\sigma'(t_t)$ and $\sigma_r\unlhd\sigma'$.
+
+\item[Ensure previous events do not transform:] For each $\sigma'$, find
+  most general unifiers~$\sigma$ such that for $1\leq i<h$,
+  $\mcow(\sigma(t_c), \sigma(T_e), \sigma(C(i)))$ and
+  $\sigma'\unlhd\sigma$.  Let $S_{r,h}$ be a set of
+  substitutions~$\sigma$ with non-most general unifiers removed.
+
+\item[Ensure last event transforms:] For each $\sigma\in S_{r,h}$,
+if $\mncow(\sigma(t_c),\sigma(T_e),\sigma(C(h)))$, try
+augmenting with parameters $n$, $r$, $\sigma\circ\prefix{C}{h}$,
+and~$\sigma$.
+\end{description}
+
+\subsection{Preskeleton Reductions}
+
+Function~$\fn{skel}$ is a partial function that maps preskeletons to
+pruned skeletons.  If given a preskeleton~$k$ where some uniquely
+originating atoms originate more than once, \fn{skel} applies hulling
+steps so as to eliminate uniquely originating atoms that originate
+more than once or is undefined.  Otherwise, it applies the ordering
+enrichment operator once to produce a skeleton.  Finally, it applies
+as many pruning steps as is possible to produce a skeleton that is
+pruned subject to restriction that only pairs of strands are
+considered.
+
+\subsection{Test Solving Reductions}
+
+Suppose~$k$ is a skeleton with a critical position~$p$ at node~$n$.
+Let $\inbnd t=\evt_k(n)$, $t_c=t\termat p$, and $T_e=E(\pubmsg_k(n),
+t_c)$.  Skeleton~$k$ reduces to~$k'$, written $k\reduction{n,p}k'$, if
+position~$p$ at~$n$ in~$k$ is solved in~$k'$ and one of four cases
+hold.
+
+\begin{description}
+\item[Contraction:] $k'=\fn{skel}(\ops{S}_\sigma(k))$, where~$\sigma$
+  is a most general unifier such that for some $t_a\in\anc(t, p)$ and
+  $t_e\in T_e$, $\sigma(t_a)=\sigma(t_e)$.  There must be a
+  homomorphism from~$k$ to~$\ops{S}_\sigma(k)$.
+
+\item[Augmentation:] $k'=\fn{skel}(\ops{H}_k(\ops{A}_{n, r,
+  C}(\ops{S}_\sigma(k))))$, where $n$, $r$, $C$, and $\sigma$ are as
+  described in Section~\ref{sec:aug step}.
+
+\item[Escape set listeners:] For $t_e\in T_E$, if $t_e=\enc{t_0}{t_1}$
+  and $C=\seq{\inbnd t_1^{-1},\outbnd t_1^{-1}}$ then
+  $k'=\fn{skel}(\ops{A}_{n, \lsn,C}(k))$.
+\item[Critical message listener:] If $t_c=\enc{t_0}{t_1}$ then
+  $k'=\fn{skel}(\ops{A}_{n, \lsn,\seq{\inbnd t_1,\outbnd t_1}}(k))$.
+\end{description}
+
+\begin{conj}[Authentication Solving Algorithm Complete]
+Suppose~$k$ is a skeleton with a critical position~$p$ at node~$n$,
+and~$p$ at~$n$ in~$k$ is solved in skeleton~$k'$, i.e.\ $k\solve{n,p}k'$.
+Then there exists a skeleton~$k''$, strand map~$\phi$, and
+substitution~$\sigma$ such that $k\reduction{n,p}k''$, and
+$k''\homomorphism{\phi,\sigma}k'$.
+\end{conj}
+
+The proof appears to be too hard.  Instead we focus on the following
+conjecture.
+
+\begin{defn}[Listener expanded bundle]
+Let bundle~$\Upsilon$ be a run of protocol.  Its \emph{listener
+  expanded bundle} is $\lsn(\Upsilon)$, which is~$\Upsilon$ after
+inserting a listener after every message transmitted by a non-listener
+strand.
+\end{defn}
+
+\begin{conj}
+Suppose~$k$ is a skeleton with a critical position~$p$ at node~$n$.
+For all $\Upsilon\in\sembrack{k}$ and the~$k'$ that
+realizes~$\lsn(\Upsilon)$, there exists a skeleton~$k''$, strand
+map~$\phi$, and substitution~$\sigma$ such that $k\reduction{n,p}k''$,
+and $k''\homomorphism{\phi,\sigma}k'$.
+\end{conj}
+
+\appendix
+\section{Old Stuff}
 \begin{prop}
 A reception node is a test node iff it is unrealized, alternatively
 $S\vdash t$ iff $\crit(S,t)=\emptyset$.
@@ -725,6 +1196,11 @@
 \end{array}\right.$$
 \end{defn}
 
+Paul Rowe showed the relation between essential obstructions and
+critical messages is
+$$\eo(S,t)=\{t_0\in\crit(S,t)\mid
+\some{p}t_0=t\termat p\land\anc(t,p)\cap\crit(S,t)=\emptyset\}.$$
+
 \begin{prop}
 $S\vdash t$ iff $\eo(S,t)=\emptyset$.
 \end{prop}
@@ -737,42 +1213,6 @@
 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
@@ -899,6 +1339,11 @@
 \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}.}
+
+\section*{Acknowledgments}
+
+The presentation of penetrator derivable messages in
+Section~\ref{sec:pen deriv mesgs} is based on ideas by Javier Thayer.
 
 \bibliography{cpsa}
 \bibliographystyle{plain}
diff --git a/doc/cpsauser.html b/doc/cpsauser.html
--- a/doc/cpsauser.html
+++ b/doc/cpsauser.html
@@ -257,16 +257,20 @@
 <blockquote>
   <pre>$ cpsa -h
 Usage: cpsa [OPTIONS] [FILE]
-  -o FILE    --output=FILE     output FILE
-  -l INT     --limit=INT       step count limit (default 2000)
-  -b INT     --bound=INT       strand count bound (default 8)
-  -m INT     --margin=INT      set output margin (default 72)
-  -e         --expand          expand macros only; don't analyze
-  -n         --noisochk        disable isomorphism checks
-  -a STRING  --algebra=STRING  algebra (default basic)
-  -s         --show-algebras   show algebras
-  -h         --help            show help message
-  -v         --version         show version number</pre>
+  -o FILE    --output=FILE      output FILE
+  -l INT     --limit=INT        step count limit (default 2000)
+  -b INT     --bound=INT        strand count bound (default 8)
+  -m INT     --margin=INT       set output margin (default 72)
+  -e         --expand           expand macros only; don't analyze
+  -n         --noisochk         disable isomorphism checks
+  -d         --displacement     enable displacement
+  -c         --check-nonces     check nonces first
+  -t         --try-old-strands  try old strands first
+  -r         --reverse-nodes    try younger nodes first
+  -a STRING  --algebra=STRING   algebra (default basic)
+  -s         --show-algebras    show algebras
+  -h         --help             show help message
+  -v         --version          show version number</pre>
 </blockquote>
 
 <p>This program will abort if too many steps are taken. A skeleton is printed
diff --git a/doc/macros.tex b/doc/macros.tex
--- a/doc/macros.tex
+++ b/doc/macros.tex
@@ -1,5 +1,5 @@
 \newcommand{\cpsa}{\textsc{cpsa}}
-\newcommand{\version}{2.0.5}
+\newcommand{\version}{2.0.6}
 \newcommand{\cpsacopying}{\begingroup
   \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2010 The
     MITRE Corporation.  Permission to copy without fee all or part of
@@ -32,8 +32,9 @@
 \newcommand{\ith}{\imath^\mathrm{th}}
 \newcommand{\jth}{\jmath^\mathrm{th}}
 \newcommand{\append}{\mathbin{{}^\smallfrown}}
+\newcommand{\prefix}[2]{#1|_{#2}}
 \newcommand{\orig}{\mathcal{O}}
-\newcommand{\acqu}{\mathcal{A}}
+\newcommand{\gain}{\mathcal{G}}
 %\newcommand{\pow}[1]{\mathcal{P}(#1)}
 %\newcommand{\pow}[1]{\wp(#1)}
 \newcommand{\pow}[1]{2^{#1}}
diff --git a/src/CPSA/Annotations/Annotations.hs b/src/CPSA/Annotations/Annotations.hs
--- a/src/CPSA/Annotations/Annotations.hs
+++ b/src/CPSA/Annotations/Annotations.hs
@@ -103,7 +103,7 @@
 loadFormulas pos vars len gen (x : xs) =
     do
       prin <- loadTerm vars x
-      case isBaseTerm prin of
+      case isAtom prin of
         True -> return ()
         False -> fail (shows pos "principal not an atom")
       (g, alist) <- mapAccumLM (loadIndexedFormula vars len) gen xs
diff --git a/src/CPSA/Basic/Algebra.hs b/src/CPSA/Basic/Algebra.hs
--- a/src/CPSA/Basic/Algebra.hs
+++ b/src/CPSA/Basic/Algebra.hs
@@ -228,10 +228,10 @@
       termWellFormed xts t1
 
 -- Is the sort of the term a base sort?
-isBaseTerm :: Term -> Bool
-isBaseTerm (I _) = False
-isBaseTerm (C _) = False
-isBaseTerm (F s _) =
+isAtom :: Term -> Bool
+isAtom (I _) = False
+isAtom (C _) = False
+isAtom (F s _) =
     s == Text || s == Data || s == Name || s == Skey || s == Akey
 
 -- Does a term occur in another term?
@@ -296,7 +296,7 @@
           ba t0 && ba t1
       ba t@(F Enc [t0, t1]) =
           S.member t knowns || ba t0 && ba t1
-      ba t = isBaseTerm t && not (S.member t unguessable)
+      ba t = isAtom t && not (S.member t unguessable)
 
 -- Compute the decomposition given some known terms and some unguessable
 -- atoms.  The code is quite tricky.  It iterates until the known
@@ -409,7 +409,7 @@
 
 instance C.Term Term where
     isVar = isVar
-    isBaseTerm = isBaseTerm
+    isAtom = isAtom
     termsWellFormed = termsWellFormed
     occursIn = occursIn
     foldVars = foldVars
diff --git a/src/CPSA/DiffieHellman/Algebra.hs b/src/CPSA/DiffieHellman/Algebra.hs
--- a/src/CPSA/DiffieHellman/Algebra.hs
+++ b/src/CPSA/DiffieHellman/Algebra.hs
@@ -364,12 +364,12 @@
       termWellFormed xts t1
 
 -- Is the sort of the term a base sort?
-isBaseTerm :: Term -> Bool
-isBaseTerm (I _) = False
-isBaseTerm (C _) = False
-isBaseTerm (F s _) =
+isAtom :: Term -> Bool
+isAtom (I _) = False
+isAtom (C _) = False
+isAtom (F s _) =
     s == Text || s == Data || s == Name || s == Skey || s == Akey || s == Base
-isBaseTerm (G _) = True
+isAtom (G _) = True
 
 -- Does a term occur in another term?
 occursIn :: Term -> Term -> Bool
@@ -456,7 +456,7 @@
           ba t0 && ba t1
       ba t@(F Enc [t0, t1]) =
           S.member t knowns || ba t0 && ba t1
-      ba t = isBaseTerm t && not (S.member t unguessable)
+      ba t = isAtom t && not (S.member t unguessable)
 
 -- Compute the decomposition given some known terms and some unguessable
 -- atoms.  The code is quite tricky.  It iterates until the known
@@ -569,7 +569,7 @@
 
 instance C.Term Term where
     isVar = isVar
-    isBaseTerm = isBaseTerm
+    isAtom = isAtom
     termsWellFormed = termsWellFormed
     occursIn = occursIn
     foldVars = foldVars
diff --git a/src/CPSA/Graph/ExpandedView.hs b/src/CPSA/Graph/ExpandedView.hs
--- a/src/CPSA/Graph/ExpandedView.hs
+++ b/src/CPSA/Graph/ExpandedView.hs
@@ -10,6 +10,7 @@
 module CPSA.Graph.ExpandedView (expandedView) where
 
 import qualified Data.Set as S
+import Data.List (intersperse)
 import System.IO
 import CPSA.Lib.CPSA
 import CPSA.Graph.XMLOutput
@@ -19,10 +20,11 @@
 import CPSA.Graph.Preskeleton
 import CPSA.Graph.Tree
 
-expandedView :: Handle -> Config -> Int -> [Preskel] -> IO ()
-expandedView h conf margin ps =
+expandedView :: Handle -> Config -> Int -> [SExpr Pos] -> [Preskel] -> IO ()
+expandedView h conf margin cmts ps =
     do
       hPutList h (header ps)
+      comments h margin cmts
       let f = forest ps
       case f of
         [t] ->
@@ -46,6 +48,13 @@
     where
       title [] = " <title>CPSA</title>"
       title (k : _) = " <title>CPSA " ++ protocol k ++ "</title>"
+
+comments :: Handle -> Int -> [SExpr Pos] -> IO ()
+comments h margin cmts =
+    do
+      hPutStrLn h ""
+      let xs = concat $ intersperse "\n" $ map (pp margin indent) cmts
+      hPutStrLn h $ show $ mc "pre" [] xs
 
 closer :: [String]
 closer =
diff --git a/src/CPSA/Graph/LaTeXView.hs b/src/CPSA/Graph/LaTeXView.hs
--- a/src/CPSA/Graph/LaTeXView.hs
+++ b/src/CPSA/Graph/LaTeXView.hs
@@ -9,17 +9,20 @@
 module CPSA.Graph.LaTeXView (latexView) where
 
 import System.IO
-import CPSA.Lib.CPSA (nats)
+import CPSA.Lib.CPSA (nats, SExpr, Pos)
 import CPSA.Lib.Entry (writeSExpr)
 import CPSA.Graph.Loader
 import CPSA.Graph.Layout
 
 -- Main entry point
-latexView :: Handle -> Int -> [Preskel] -> IO ()
-latexView h margin ps =
+latexView :: Handle -> Int -> [SExpr Pos] -> [Preskel] -> IO ()
+latexView h margin cmts ps =
     do
       hPutStrLn h "\\usepackage[matrix,arrow,curve]{xy}"
       hPutStrLn h "\\begin{document}"
+      hPutStrLn h "\\begin{verbatim}"
+      mapM_ (writeSExpr h margin) cmts
+      hPutStrLn h "\\end{verbatim}"
       mapM_ (writeLnPreskel h margin) ps
       hPutStrLn h "\n\\end{document}"
       hClose h
diff --git a/src/CPSA/Graph/Loader.hs b/src/CPSA/Graph/Loader.hs
--- a/src/CPSA/Graph/Loader.hs
+++ b/src/CPSA/Graph/Loader.hs
@@ -115,13 +115,20 @@
 
 type Pair = (Node, Node)        -- An ordering of nodes
 
--- Load the top-level defs or return an error message
+-- Load the initial comments and top-level defs or return an error
+-- message
 
-loadDefs :: Monad m => [SExpr Pos] -> m [Preskel]
+loadDefs :: Monad m => [SExpr Pos] -> m ([SExpr Pos], [Preskel])
 loadDefs xs =
     do
-      (_, ks, _) <- foldM loadSExpr ([], [], 0) xs
-      return (reverse ks)
+      let (cmts, xs') = loadComments [] xs
+      (_, ks, _) <- foldM loadSExpr ([], [], 0) xs'
+      return (reverse cmts, reverse ks)
+
+loadComments :: [SExpr Pos] -> [SExpr Pos] -> ([SExpr Pos], [SExpr Pos])
+loadComments cmts (cmt@(L _ (S _ "comment" : _)): xs) = 
+    loadComments (cmt:cmts) xs
+loadComments cmts xs = (cmts, xs)
 
 -- The integer is used to add a label to preskeleton without one.
 type LoadSExpr = ([(String, Protocol)], [Preskel], Int)
diff --git a/src/CPSA/Graph/Main.hs b/src/CPSA/Graph/Main.hs
--- a/src/CPSA/Graph/Main.hs
+++ b/src/CPSA/Graph/Main.hs
@@ -38,9 +38,9 @@
       preskels <- try (loadDefs sexprs)
       case preskels of
         Left err -> abort (ioeGetErrorString err)
-        Right [] ->
+        Right (_, []) ->
             abort "Empty input"
-        Right preskels ->
+        Right (cmts, preskels) ->
             do
               h <- outputHandle (file params)
               case format params of
@@ -48,14 +48,14 @@
                     do
                       hPutStrLn h "\\documentclass[12pt]{article}"
                       hPutStrLn h ("% " ++ cpsaVersion)
-                      latexView h (margin params) preskels
+                      latexView h (margin params) cmts preskels
                 _ ->
                     do
                       hPutStrLn h "<?xml version=\"1.0\"?>"
                       hPutStrLn h ("<!-- " ++ cpsaVersion ++ " -->")
                       case format params of
                         XML -> expandedView h (config False)
-                               (margin params) preskels
+                               (margin params) cmts preskels
                         SVG -> compactView h (config True) preskels
                         LaTeX -> error "Bad case in main"
 
diff --git a/src/CPSA/Lib/Algebra.hs b/src/CPSA/Lib/Algebra.hs
--- a/src/CPSA/Lib/Algebra.hs
+++ b/src/CPSA/Lib/Algebra.hs
@@ -27,7 +27,7 @@
 
 class (Ord t, Show t) => Term t where
     isVar :: t -> Bool          -- Is term a variable in the algebra?
-    isBaseTerm :: t -> Bool     -- Is the sort of this term a base sort?
+    isAtom :: t -> Bool       -- Is the sort of this term a base sort?
 
     -- Does a term occur in another term?
     occursIn :: t -> t -> Bool
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
@@ -6,7 +6,7 @@
 -- modify it under the terms of the BSD License as published by the
 -- University of California.
 
-module CPSA.Lib.Cohort (reduce, unrealized) where
+module CPSA.Lib.Cohort (Mode(..), reduce, unrealized) where
 
 import Control.Monad
 import qualified Data.Set as S
@@ -59,6 +59,10 @@
 
 -- Compile time switches for expermentation.
 
+-- Include the escape set in the set of target terms
+useEcapeSetInTargetTerms :: Bool
+useEcapeSetInTargetTerms = False -- True
+
 -- Filter a cohort for skeletons that solve the test.  Turn off only
 -- to debug the other parts of the test solving algorithm.
 useSolvedFilter :: Bool
@@ -69,14 +73,6 @@
 useMguFilter :: Bool
 useMguFilter = True
 
--- Solve encryption tests first when possible.
-useEncryptionFirstOrder :: Bool
-useEncryptionFirstOrder = True
-
--- Experiment: try adding orderings while contracting.
-useContractionsWithOrdering :: Bool
-useContractionsWithOrdering = False
-
 -- Penetrator derivable predicate and checking for unrealized skeletons.
 
 derivable :: Algebra t p g s e c => Set t -> Set t -> t -> Bool
@@ -124,11 +120,11 @@
     where
       u = uniqOrig k
 
--- Suppose k --v,t-> k', where k |-pi,sigma-> k'.  Let t'=sigma(t),
--- T=sigma(esc(k, v, t)), and t"=msg(k', pi(v)).  Term t is solved in
--- k' from k at v if:
+-- Suppose k --v,p-> k', where k |-pi,sigma-> k'.  Let t=msg(k, v)@p,
+-- t'=sigma(t), T=sigma(esc(k, v, t)), and t"=msg(k', pi(v)).
+-- Position p is solved in k' from k at v if:
 --
--- 1. t' is carried only within T in t", or
+-- 1. some member of anc(t", p) is in T', or
 --
 -- 2. for some t in outpred(k', pi(v)), t' is not carried only within
 --    T in t, or
@@ -136,10 +132,19 @@
 -- 3. the decryption key for an element of T is derivable, or
 --
 -- 4. t' is an encryption and the encryption key for t' is derivable.
-solved :: Algebra t p g s e c => t -> Maybe t -> Set t ->
+--
+-- Haskell variables:
+-- ct     = t
+-- pos    = p
+-- ek     = encription key if ct is an encyption else nothing
+-- escape = esc(k, v, t)
+-- k      = k
+-- (s, p) = v
+-- subst  = sigma
+solved :: Algebra t p g s e c => t -> p -> Maybe t -> Set t ->
           Preskel t p g s e c -> Node -> s -> Bool
-solved ct ek escape k (s, p) subst =
-    carriedOnlyWithin ct' escape' t ||
+solved ct pos ek escape k (s, p) subst =
+    isAncestorInSet escape' t pos ||
     any (not . carriedOnlyWithin ct' escape') (S.toList ts) ||
     any (maybe False (derivable a ts) . decryptionKey) (S.toList escape') ||
     maybe False (derivable a ts) ek
@@ -153,24 +158,40 @@
       ts = S.map (evtTerm . event) vs -- Outbound predecessors
       (a, _) = avoid k
 
-maybeSolved :: Algebra t p g s e c => t -> Maybe t -> Set t ->
+maybeSolved :: Algebra t p g s e c => t -> p -> Maybe t -> Set t ->
                Preskel t p g s e c -> Node -> s -> Bool
-maybeSolved ct ek escape k n subst =
-    not useSolvedFilter || solved ct ek escape k n subst
+maybeSolved ct pos ek escape k n subst =
+    not useSolvedFilter || solved ct pos ek escape k n subst
 
+data Mode = Mode 
+    { noGeneralization :: Bool,
+      addDisplacements :: Bool,
+      nonceFirstOrder :: Bool,
+      visitOldStrandsFirst :: Bool,
+      reverseNodeOrder :: Bool }
+    deriving Show
+
 -- Abort if there is an unrealized node without a test, otherwise
 -- return a list of skeletons that solve one test.  If the skeleton is
 -- realized, try to generalize it, but only when noIsoChk is false.
-reduce :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->
+reduce :: Algebra t p g s e c => Mode -> Preskel t p g s e c ->
           [Preskel t p g s e c]
-reduce noIsoChk k =
-    firstJust (map (testStrand k u a) ss)
+reduce mode k =
+    firstJust (map (testStrand mode k u a) ss)
                   (whenRealized k) -- Skeleton is realized
     where
-      ss = reverse (strands  k) -- Visit recently added strands first
+      ss = strandVisitOrder mode (strands  k)
       (a, u) = avoid k
-      whenRealized k = if noIsoChk then [] else realizedReductions k
+      whenRealized k = 
+          if noGeneralization mode then [] else realizedReductions k
 
+strandVisitOrder :: Mode -> [a] -> [a]
+strandVisitOrder mode ss =
+    if visitOldStrandsFirst mode then
+        ss                      -- Visit old strands first
+    else
+        reverse ss     -- Visit recently added strands first (default)
+
 -- These reductions use isomorphism checking.
 realizedReductions :: Algebra t p g s e c => Preskel t p g s e c ->
                       [Preskel t p g s e c]
@@ -189,11 +210,11 @@
 firstJust (Nothing : xs) x = firstJust xs x
 
 -- Look for a test node in a strand
-testStrand :: Algebra t p g s e c => Preskel t p g s e c ->
+testStrand :: Algebra t p g s e c => Mode -> Preskel t p g s e c ->
               [t] -> Set t -> Strand t p g s e c ->
               Maybe [Preskel t p g s e c]
-testStrand k u a s =
-    loop S.empty (nodes s)
+testStrand mode k u a s =
+    loop S.empty (nodeVisitOrder mode $ nodes s)
     where
       loop _ [] = Nothing
       loop ns (n : nodes) =
@@ -207,13 +228,20 @@
                 if der t then
                     loop ns' nodes
                 else
-                    Just $ testNode k u ts der (graphNode n) t
+                    Just $ testNode mode k u ts der (graphNode n) t
 
+nodeVisitOrder :: Mode -> [a] -> [a]
+nodeVisitOrder mode nodes =
+    if reverseNodeOrder mode then
+        reverse nodes           -- Visit latest nodes first
+    else
+        nodes                  -- Visit earliest nodes first (default)
+
 -- Look for a critical term that makes this node a test node.
-testNode :: Algebra t p g s e c => Preskel t p g s e c ->
+testNode :: Algebra t p g s e c => Mode -> Preskel t p g s e c ->
             [t] -> Set t -> (t -> Bool) -> Node -> t ->
             [Preskel t p g s e c]
-testNode k u ts derivable n t =
+testNode mode k u ts derivable n t =
     loop cts
     where
       loop [] = error ("Cohort.testNode missing test at " ++ show n)
@@ -221,17 +249,19 @@
           case escapeSet ts derivable ct of
             Nothing -> loop cts
             Just escape ->
-                if carriedOnlyWithin ct escape t then
-                    loop cts
-                else
-                    solveNode k ct ek n t escape
-      cts =
-          if useEncryptionFirstOrder then
-              map g (filter h (encryptions t)) ++
-              map f (filter (flip carriedBy t) u)
-          else
+                places (carriedPlaces ct t)
+                where
+                  places [] = loop cts -- Find position at which
+                  places (p : ps)      -- ct has escaped
+                      | isAncestorInSet escape t p = places ps
+                      | otherwise = solveNode mode k ct p ek n t escape
+      cts =                     -- Potential critical messages
+          if nonceFirstOrder mode then
               map f (filter (flip carriedBy t) u) ++
               map g (filter h (encryptions t))
+          else
+              map g (filter h (encryptions t)) ++
+              map f (filter (flip carriedBy t) u)
       f ct = (ct, Nothing)
       g (ct, ek) = (ct, Just ek)
       h (_, ek) = not (derivable ek)
@@ -249,53 +279,47 @@
 
 carriedOnlyWithin :: Algebra t p g s e c => t -> Set t -> t -> Bool
 carriedOnlyWithin target escape source =
-    existsOnAllPathsToTarget (flip S.member escape) target source
+    all (isAncestorInSet escape source) (carriedPlaces target source)
 
--- existsOnAllPathsToTarget pred target source is true if the
--- predicate is true for some term on a path for every path from the
--- source to the target
-existsOnAllPathsToTarget :: Algebra t p g s e c =>
-                            (t -> Bool) -> t -> t -> Bool
-existsOnAllPathsToTarget pred target source =
-    all (any pred) (map (ancestors source) (carriedPlaces target source))
+-- isAncestorInSet set source position is true if there is one ancestor of
+-- source at position that is in the set.
+isAncestorInSet :: Algebra t p g s e c => Set t -> t -> p -> Bool
+isAncestorInSet set source position =
+    any (flip S.member set) (ancestors source position)
 
-solveNode :: Algebra t p g s e c => Preskel t p g s e c ->
-             t -> Maybe t -> Node -> t -> Set t ->
+-- Solve critical message at position pos at node n.
+-- ct = t @ pos
+-- t  = msg(k, n)
+solveNode :: Algebra t p g s e c => Mode -> Preskel t p g s e c ->
+             t -> p -> Maybe t -> Node -> t -> Set t ->
              [Preskel t p g s e c]
-solveNode k ct ek n t escape =
-    cons ++ augs ++ cwos ++ lsns
+solveNode mode k ct pos ek n t escape =
+    cons ++ augs ++ lsns
     where
-      cons = contractions k ct ek n t escape cause
-      augs = augmentations  k ct ek n escape cause
-      cwos =
-          if useContractionsWithOrdering then
-              contractionsWithOrdering k ct ek n escape cause
-          else
-              []
-      lsns = addListeners k ct ek n t escape cause
+      cons = contractions k ct pos ek n t escape cause
+      augs = augmentations (addDisplacements mode) k ct pos ek n escape cause
+      lsns = addListeners k ct pos ek n t escape cause
       cause = Cause (dir ek) n ct escape
 
 -- Contractions
 
+-- Contract the critical message at the given position.
 contractions :: Algebra t p g s e c => Preskel t p g s e c ->
-                t -> Maybe t -> Node -> t -> Set t ->
+                t -> p -> Maybe t -> Node -> t -> Set t ->
                 Cause t p g s e c -> [Preskel t p g s e c]
-contractions k ct ek n t escape cause =
-    [ k | subst <- mgus $ cows ct escape t (gen k, emptySubst),
+contractions k ct pos ek n t escape cause =
+    [ k | let anc = ancestors t pos,
+          subst <- mgus $ solve escape anc (gen k, emptySubst),
           (k, n, subst') <- maybeToList $ contract k n cause subst,
-          maybeSolved ct ek escape k n subst' ]
+          maybeSolved ct pos ek escape k n subst' ]
 
-cows :: Algebra t p g s e c => t -> Set t -> t -> (g, s) -> [(g, s)]
-cows ct escape t subst =
-    if carriedOnlyWithinAtSubst ct escape t subst then
-        [subst]
-    else
-        concatMap f (fold ct escape t subst)
-        where
-          f subst =
-              cows ct escape t subst
+solve :: Algebra t p g s e c => Set t -> [t] -> (g, s) -> [(g, s)]
+solve escape ancestors subst =
+    [ s | e <- S.toList escape,
+          a <- ancestors,
+          s <- maybeToList $ unify a e subst ]
 
-carriedOnlyWithinAtSubst :: Algebra t p g s e c => 
+carriedOnlyWithinAtSubst :: Algebra t p g s e c =>
                             t -> Set t -> t -> (g, s) -> Bool
 carriedOnlyWithinAtSubst  ct escape t (_, subst) =
     carriedOnlyWithin ct' escape' t'
@@ -313,11 +337,7 @@
       escape' = S.map (substitute subst) escape
       t' = substitute subst t
       f substs p =
-          [ s |
-            a <- ancestors t' p,
-            e <- S.toList escape',
-            subst <- substs,
-            s <- maybeToList $ unify a e subst ]
+          [ s | subst <- substs, s <- solve escape' (ancestors t' p) subst ]
 
 -- Filter out non-most general unifiers
 mgus :: Algebra t p g s e c => [(g, s)] -> [(g, s)]
@@ -359,20 +379,21 @@
 
 -- Augmentations
 
-augmentations :: Algebra t p g s e c => Preskel t p g s e c ->
-                t -> Maybe t -> Node -> Set t ->
+augmentations :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->
+                t -> p -> Maybe t -> Node -> Set t ->
                 Cause t p g s e c -> [Preskel t p g s e c]
-augmentations k ct ek n escape cause =
+augmentations displacement k ct pos ek n escape cause =
     [ k' | r <- roles (protocol k),
-           k' <- roleAugs k ct ek n escape cause r ]
+           k' <- roleAugs displacement k ct pos ek n escape cause r ]
 
-roleAugs :: Algebra t p g s e c => Preskel t p g s e c ->
-            t -> Maybe t -> Node -> Set t -> Cause t p g s e c ->
+roleAugs :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->
+            t -> p -> Maybe t -> Node -> Set t -> Cause t p g s e c ->
             Role t p g s e c -> [Preskel t p g s e c]
-roleAugs k ct ek n escape cause role =
+roleAugs displacement k ct pos ek n escape cause role =
     [ k' | (subst', inst) <- transformingNode ct escape role subst,
-           (k', n', subst'') <- augment k n cause role subst' inst,
-           maybeSolved ct ek escape k' n' subst'' ]
+           (k', n', subst'') <-
+               augment displacement k n cause role subst' inst,
+           maybeSolved ct pos ek escape k' n' subst'' ]
     where
       subst = cloneRoleVars (gen k) role
 
@@ -414,8 +435,12 @@
 -- term.
 targetTerms :: Algebra t p g s e c => t -> Set t -> Set t
 targetTerms ct escape =
-    S.difference (S.fold f (S.singleton ct) escape) escape
+    if useEcapeSetInTargetTerms then
+       targetTermsWithEscapeSet
+    else
+       S.difference  targetTermsWithEscapeSet escape
     where
+      targetTermsWithEscapeSet = S.fold f (S.singleton ct) escape
       f t ts =
           foldl (flip S.insert) ts
                 (concatMap (ancestors t) (carriedPlaces ct t))
@@ -475,48 +500,15 @@
             inst' = bldInstance role itrace gen
             itrace = map (evtMap $ substitute subst) (take ht (rtrace role))
 
--- Contractions with an ordering
-
-contractionsWithOrdering :: Algebra t p g s e c => Preskel t p g s e c ->
-                            t -> Maybe t -> Node -> Set t ->
-                            Cause t p g s e c -> [Preskel t p g s e c]
-contractionsWithOrdering k ct ek n escape cause =
-    [ k' | (n', t, past) <- copresent k n,
-           subst <- carriedBindings targets t (gen k, emptySubst),
-           subst' <-  mgus $ cowp ct escape past [subst],
-           testNotSolved t subst',
-           (k', n'', subst'') <-
-               maybeToList $ contractAndOrder k n cause subst' n',
-           maybeSolved ct ek escape k' n'' subst'' ]
-    where
-      targets = S.toList (targetTerms ct escape)
-      testNotSolved t (_, subst) =
-          not $ carriedOnlyWithin
-                  (substitute subst ct)
-                  (S.map (substitute subst) escape)
-                  (substitute subst t)
-
-cowp :: Algebra t p g s e c => t -> Set t ->
-        [t] -> [(g, s)] -> [(g, s)]
-cowp _ _ [] substs = substs
-cowp ct escape (t : ts) substs =
-    cowp ct escape ts (concatMap f substs)
-    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)
-
 -- Listener augmentations
 
 addListeners :: Algebra t p g s e c => Preskel t p g s e c ->
-                t -> Maybe t -> Node -> t -> Set t ->
+                t -> p -> Maybe t -> Node -> t -> Set t ->
                 Cause t p g s e c -> [Preskel t p g s e c]
-addListeners k ct ek n t escape cause =
+addListeners k ct pos ek n t escape cause =
     [ k' | t' <- filter (/= t) (S.toList (escapeKeys ek escape)),
            (k', n', subst) <- maybeToList $ addListener k n cause t',
-           maybeSolved ct ek escape k' n' subst ]
+           maybeSolved ct pos ek escape k' n' subst ]
 
 escapeKeys :: Algebra t p g s e c => Maybe t -> Set t -> Set t
 escapeKeys ek escape =
diff --git a/src/CPSA/Lib/Displayer.hs b/src/CPSA/Lib/Displayer.hs
--- a/src/CPSA/Lib/Displayer.hs
+++ b/src/CPSA/Lib/Displayer.hs
@@ -131,8 +131,6 @@
       Contracted subst cause ->
           let substitution = displaySubst ctx subst in
           displayCause (L () (S () "contracted" : substitution)) cause
-      AddedOrdering node cause ->
-          displayCause (L () [S () "added-ordering", displayNode node]) cause
       Displaced s s' role height cause ->
           displayCause
 	  (L () [S () "displaced", N () s, N () s', S () role, N () height])
diff --git a/src/CPSA/Lib/Loader.hs b/src/CPSA/Lib/Loader.hs
--- a/src/CPSA/Lib/Loader.hs
+++ b/src/CPSA/Lib/Loader.hs
@@ -161,7 +161,7 @@
                        $ originates t (rtrace role)
       origVarCheck v =
           failwith (showString "variable " $ showst v " not acquired")
-                       $ isBaseTerm v || isJust (acquiredPos v (rtrace role))
+                       $ isAtom v || isJust (acquiredPos v (rtrace role))
 
 failwith :: Monad m => String -> Bool -> m ()
 failwith msg test =
@@ -231,7 +231,7 @@
 loadBaseTerm vars x =
     do
       t <- loadTerm vars x
-      case isBaseTerm t of
+      case isAtom t of
         True -> return t
         False -> fail (shows (annotation x) "Expecting an atom")
 
@@ -257,7 +257,7 @@
 loadPosBaseTerm vars x =
     do
       t <- loadTerm vars x
-      case isBaseTerm t of
+      case isAtom t of
         True -> return (Nothing, t)
         False -> fail (shows (annotation x) "Expecting an atom")
 
diff --git a/src/CPSA/Lib/Main.hs b/src/CPSA/Lib/Main.hs
--- a/src/CPSA/Lib/Main.hs
+++ b/src/CPSA/Lib/Main.hs
@@ -48,6 +48,10 @@
       alg :: String,            -- Name of the algebra
       analyze :: Bool,          -- False when only expanding macros
       noIsoChk :: Bool,         -- True when not performing isomorphism checks
+      displacement :: Bool,     -- True when using displacement
+      checkNoncesFirst :: Bool, -- True when checking nonces first
+      tryOldStrandsFirst :: Bool, -- True when visiting old strands first
+      tryYoungNodesFirst :: Bool, -- True when visiting young nodes first
       limit :: Int,             -- Step count limit
       bound :: Int,             -- Strand cound bound
       margin :: Int }           -- Output line length
@@ -123,6 +127,18 @@
                 True -> writeComment h m $
                         "Strand count bounded at " ++ show (bound params)
                 False -> return ()
+              case displacement params of
+                True -> writeComment h m "Displacement enabled"
+                False -> return ()
+              case checkNoncesFirst params of
+                True -> writeComment h m "Nonces checked first"
+                False -> return ()
+              case tryOldStrandsFirst params of
+                True -> writeComment h m "Old strands tried first"
+                False -> return ()
+              case tryYoungNodesFirst params of
+                True -> writeComment h m "Younger nodes tried first"
+                False -> return ()
               -- Analyze
               solve params h preskels 0
 
@@ -146,6 +162,10 @@
     | Margin String             -- Output line length
     | Expand                    -- Expand macros only
     | NoIsoChk                  -- Disable isomorphism checks
+    | Displacement              -- Enable displacement
+    | CheckNoncesFirst          -- Check nonces first
+    | TryOldStrandsFirst        -- Try old strands first
+    | TryYoungNodesFirst        -- Try young nodes first
     | Algebra String            -- Algebra
     | Algebras                  -- Show algebras
     | Help                      -- Help
@@ -165,6 +185,14 @@
       "expand macros only; don't analyze",
       Option ['n'] ["noisochk"] (NoArg NoIsoChk)
       "disable isomorphism checks",
+      Option ['d'] ["displacement"] (NoArg Displacement)
+      "enable displacement",
+      Option ['c'] ["check-nonces"] (NoArg CheckNoncesFirst)
+      "check nonces first",
+      Option ['t'] ["try-old-strands"] (NoArg TryOldStrandsFirst)
+      "try old strands first",
+      Option ['r'] ["reverse-nodes"] (NoArg TryYoungNodesFirst)
+      "try younger nodes first",
       Option ['a'] ["algebra"]  (ReqArg Algebra "STRING")
       ("algebra (default " ++ defaultAlgebra ++ ")"),
       Option ['s'] ["show-algebras"] (NoArg Algebras)  "show algebras",
@@ -178,6 +206,10 @@
                         alg = defaultAlgebra,
                         analyze = True,
                         noIsoChk = False,
+                        displacement = False,
+                        checkNoncesFirst = False,
+                        tryOldStrandsFirst = False,
+                        tryYoungNodesFirst = False,
                         limit = defaultStepLimit,
                         bound = defaultStrandBound,
                         margin = defaultMargin }
@@ -214,6 +246,14 @@
           loop flags $ params { analyze = False }
       loop (NoIsoChk : flags) params =
           loop flags $ params { noIsoChk = True }
+      loop (Displacement : flags) params =
+          loop flags $ params { displacement = True }
+      loop (CheckNoncesFirst : flags) params =
+          loop flags $ params { checkNoncesFirst = True }
+      loop (TryOldStrandsFirst : flags) params =
+          loop flags $ params { tryOldStrandsFirst = True }
+      loop (TryYoungNodesFirst : flags) params =
+          loop flags $ params { tryYoungNodesFirst = True }
       loop (Algebra name : flags) params
           | elem name algs = loop flags $ params { alg = name }
           | otherwise =
@@ -406,11 +446,19 @@
     Reduct lk (length kids) cols
                (seqList $ reverse unseen) (seqList dups)
     where
-      kids = reduce (noIsoChk p) (content lk)
+      kids = reduce (params p) (content lk)
       cols = all collapsed kids
       (unseen, dups) =
           foldl (duplicates seen) ([], []) kids
 
+params :: Params -> Mode
+params p =
+    Mode { noGeneralization = noIsoChk p,
+           addDisplacements = displacement p,
+           nonceFirstOrder = checkNoncesFirst p,
+           visitOldStrandsFirst = tryOldStrandsFirst p,
+           reverseNodeOrder = tryYoungNodesFirst p}
+
 -- Is preskeleton the result of a collapsing operation?
 collapsed :: Algebra t p g s e c => Preskel t p g s e c -> Bool
 collapsed k =
@@ -470,7 +518,7 @@
 fast p h ks m n (lk : todo) =
     do
       let ns = unrealized (content lk)
-      let ks' = reduce (noIsoChk p) (content lk)
+      let ks' = reduce (params p) (content lk)
       let msg = show (length ks') ++ " in cohort"
       wrt p h (commentPreskel lk [] ns (null ns) msg)
       let (n', todo') = foldl (children lk) (n, []) ks'
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
@@ -12,10 +12,10 @@
     pov, knon, kunique, kcomment, nstrands, kvars, kterms, uniqOrig,
     preskelWellFormed, verbosePreskelWellFormed, Strand, GraphStrand,
     nodes, Vertex, GraphNode, preds, event, graphNode, strands, Gist,
-    gist, contract, contractAndOrder, copresent, augment, inheritRnon,
-    inheritRunique, addListener, Cause (..), Direction (..), Method
-    (..), Operation (..), operation, prob, homomorphism, toSkeleton,
-    generalize, collapse) where
+    gist, contract, augment, inheritRnon, inheritRunique, addListener,
+    Cause (..), Direction (..), Method (..), Operation (..),
+    operation, prob, homomorphism, toSkeleton, generalize, collapse)
+    where
 
 import Control.Monad
 import qualified Data.List as L
@@ -69,10 +69,6 @@
 useCheckVars :: Bool
 useCheckVars = False
 
--- Experiment: try adding displacements to the augmentation procedure.
-useDisplacement :: Bool
-useDisplacement = False -- True
-
 -- Instances and Strand Identifiers
 
 -- An Instance is an instance of a role, in the sense that each
@@ -379,7 +375,6 @@
 data Algebra t p g s e c => Operation t p g s e c
     = New
     | Contracted s (Cause t p g s e c)
-    | AddedOrdering Node (Cause t p g s e c)
     | Displaced Int Int String Int (Cause t p g s e c)
     | AddedStrand String Int (Cause t p g s e c)
     | AddedListener t (Cause t p g s e c)
@@ -830,8 +825,6 @@
 substOper _ New = New
 substOper subst (Contracted s cause) =
     Contracted (compose subst s) (substCause subst cause)
-substOper subst (AddedOrdering node cause) =
-    AddedOrdering node (substCause subst cause)
 substOper _ m@(Displaced _ _ _ _ _) = m
 substOper subst (AddedStrand role height cause) =
     AddedStrand role height (substCause subst cause)
@@ -998,10 +991,24 @@
           foldl f orderings (L.delete s (strandids k))
           where
             f orderings s =
-                case acquiredPos t (trace (strandInst k s)) of
+                case gainedPos t (trace (strandInst k s)) of
                   Nothing -> orderings
                   Just pos -> adjoin (n, (s, pos)) orderings
 
+-- At what position is a term gained in a trace?
+gainedPos :: Algebra t p g s e c => t ->
+             Trace t p g s e c -> Maybe Int
+gainedPos t c =
+    loop 0 c
+    where
+      loop _ [] = Nothing       -- Term is not carried
+      loop pos (Out t' : c)
+          | t `carriedBy` t' = Nothing -- Term is not gained
+          | otherwise = loop (pos + 1) c
+      loop pos (In t' : c)
+          | t `carriedBy` t' = Just pos -- Found it
+          | otherwise = loop (pos + 1) c
+
 -- Redundant Strand Elimination (also known as pruning)
 
 prune :: Algebra t p g s e c => PRS t p g s e c -> Maybe (PRS t p g s e c)
@@ -1032,6 +1039,9 @@
                    (gen k, emptyEnv)
             (gen', env') <- idempotentEnvFor env
                             (concatMap (tterms . trace) $ deleteNth s $ insts k)
+            case matchRenaming (gen', env') of
+              True -> return ()
+              False -> Nothing
             case origCheck k env' of
               True -> return ()
               False -> Nothing
@@ -1113,72 +1123,16 @@
                        n, emptySubst) subst
       hull True prs
 
--- Contract and add ordering
-
-contractAndOrder :: Algebra t p g s e c => Preskel t p g s e c ->
-                    Node -> Cause t p g s e c -> (g, s) -> Node ->
-                    Maybe (PRS t p g s e c)
-contractAndOrder k n cause subst n' =
-    do
-      prs <- ksubst (k { operation = AddedOrdering n' cause },
-                       n, emptySubst) subst
-      ord prs (n', n)
-
-ord :: Algebra t p g s e c => PRS t p g s e c ->
-       Pair -> Maybe (PRS t p g s e c)
-ord (k, n, hsubst) pair =
-    do
-      k' <- wellFormedPreskel k'
-      hull True (k', n, hsubst)
-    where
-      k' = newPreskel (gen k) (protocol k) (insts k)
-           (pair : orderings k) (knon k) (kunique k)
-           (operation k) (prob k) (pov k)
-
--- Return a list of triples containg a transmitting node copresent
--- with the argument, its message term, and the messages in its past
-copresent :: Algebra t p g s e c => Preskel t p g s e c ->
-             Node -> [(Node, t, [t])]
-copresent k n =
-    map f $ copresentVertices k n
-    where
-      f v =
-          let n = (sid $ strand v, pos v)
-              t = evtTerm $ event v
-              past = copresentPast v in
-          (n, t, past)
-
-copresentVertices :: Algebra t p g s e c => Preskel t p g s e c ->
-                     Node -> [Vertex t p g s e c]
-copresentVertices k n =
-    let v = vertex k n in
-    [ v' | s <- strands k,
-           v' <- nodes s,
-           outbound $ event v',
-           not $ graphPrecedes v v',
-           not $ graphPrecedes v' v ]
-
-outbound :: Algebra t p g s e c => Event t p g s e c -> Bool
-outbound (In _) = False
-outbound (Out _) = True
-
-copresentPast :: Algebra t p g s e c => Vertex t p g s e c -> [t]
-copresentPast v =
-    S.elems $ foldl f S.empty $ preds v
-    where
-      f set v =
-          foldl f (S.insert (evtTerm $ event v) set) $ preds v
-
 -- Regular Augmentation
 
 -- Apply a substitution and then augment.  Augmentations add an
 -- instance and one ordered pair.
 
-augment :: Algebra t p g s e c => Preskel t p g s e c -> Node ->
-           Cause t p g s e c -> Role t p g s e c -> (g, s) ->
-           Instance t p g s e c -> [PRS t p g s e c]
-augment k0 n cause role subst inst =
-    case substAndAugment k0 n cause role subst inst of
+augment :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->
+           Node -> Cause t p g s e c -> Role t p g s e c ->
+           (g, s) -> Instance t p g s e c -> [PRS t p g s e c]
+augment useDisplacement k0 n cause role subst inst =
+    case substAndAugment useDisplacement k0 n cause role subst inst of
       Nothing -> []
       Just prs@(k, n, hsubst) ->
           case useDisplacement of
@@ -1188,18 +1142,18 @@
                   Nothing -> augDisplace k0 k n hsubst
                   Just prs -> prs : augDisplace k0 k n hsubst
 
-substAndAugment :: Algebra t p g s e c => Preskel t p g s e c -> Node ->
-                   Cause t p g s e c -> Role t p g s e c -> (g, s) ->
-                   Instance t p g s e c -> Maybe (PRS t p g s e c)
-substAndAugment k n cause role subst inst =
+substAndAugment :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->
+                   Node -> Cause t p g s e c -> Role t p g s e c ->
+                   (g, s) -> Instance t p g s e c -> Maybe (PRS t p g s e c)
+substAndAugment useDisplacement k n cause role subst inst =
     do
       let operation' = AddedStrand (rname role) (height inst) cause
       prs <- ksubst (k { operation = operation' }, n, emptySubst) subst
-      aug prs inst
+      aug useDisplacement prs inst
 
-aug :: Algebra t p g s e c => PRS t p g s e c ->
+aug :: Algebra t p g s e c => Bool -> PRS t p g s e c ->
        Instance t p g s e c -> Maybe (PRS t p g s e c)
-aug (k, n, hsubst) inst =
+aug useDisplacement (k, n, hsubst) inst =
     do
       let insts' = (insts k) ++ [inst]
       let pair = ((length (insts k), height inst - 1), n)
@@ -1235,12 +1189,12 @@
 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' =
+    case findCollapses k s of
+      s':_ ->
           do
             (_, _, subst) <- unifyStrands k s s'
             augSubst k0 prs subst
+      _ -> return prs
 
 -- 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]
diff --git a/tst/Make.hs b/tst/Make.hs
--- a/tst/Make.hs
+++ b/tst/Make.hs
@@ -186,7 +186,7 @@
        make cpsaparametersRule root
 
 cpsaparametersRule :: Rule
-cpsaparametersRule = 
+cpsaparametersRule =
     Rule { prog = "cpsaparameters",
     	   inputExt = sourceBasicExt,
 	   outputExt = paramsExt }
diff --git a/tst/blanchet.tst b/tst/blanchet.tst
--- a/tst/blanchet.tst
+++ b/tst/blanchet.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol blanchet basic
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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol denning-sacco basic
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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol dhke diffie-hellman
diff --git a/tst/dh_unifywithconst.sch b/tst/dh_unifywithconst.sch
new file mode 100644
--- /dev/null
+++ b/tst/dh_unifywithconst.sch
@@ -0,0 +1,25 @@
+(defprotocol dh_unifywith1 diffie-hellman
+  (defrole resp (vars (n text) (x base) (a b name))
+    (trace
+     (recv (enc n (pubk b)))
+     (send (enc x n (pubk a)))
+    )
+    (uniq-orig x)
+    (non-orig (privk a))
+  )
+  (defrole init (vars (n text) (a b name))
+    (trace
+     (send (enc n (pubk b)))
+     (recv (enc (gen) n (pubk a)))
+    )
+    (non-orig (privk b))
+    (uniq-orig n)
+  )
+  (comment "A test: will CPSA unify x with g?")
+)
+
+(defskeleton dh_unifywith1
+   (vars (n text) (a b name))
+   (defstrand init 2 (n n) (a a) (b b))
+   (comment "Initiator full point of view")
+)
diff --git a/tst/dh_unifywithconst.tst b/tst/dh_unifywithconst.tst
new file mode 100644
--- /dev/null
+++ b/tst/dh_unifywithconst.tst
@@ -0,0 +1,59 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol dh_unifywith1 diffie-hellman
+  (defrole resp
+    (vars (n text) (x base) (a b name))
+    (trace (recv (enc n (pubk b))) (send (enc x n (pubk a))))
+    (non-orig (privk a))
+    (uniq-orig x))
+  (defrole init
+    (vars (n text) (a b name))
+    (trace (send (enc n (pubk b))) (recv (enc (gen) n (pubk a))))
+    (non-orig (privk b))
+    (uniq-orig n))
+  (comment "A test: will CPSA unify x with g?"))
+
+(defskeleton dh_unifywith1
+  (vars (n text) (a b name))
+  (defstrand init 2 (n n) (a a) (b b))
+  (non-orig (privk b))
+  (uniq-orig n)
+  (comment "Initiator full point of view")
+  (traces ((send (enc n (pubk b))) (recv (enc (gen) n (pubk a)))))
+  (label 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dh_unifywith1
+  (vars (n text) (a b a-0 name) (x base))
+  (defstrand init 2 (n n) (a a) (b b))
+  (defstrand resp 2 (n n) (a a-0) (b b) (x x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b) (privk a-0))
+  (uniq-orig n x)
+  (operation nonce-test (added-strand resp 2) n (0 1) (enc n (pubk b)))
+  (traces ((send (enc n (pubk b))) (recv (enc (gen) n (pubk a))))
+    ((recv (enc n (pubk b))) (send (enc x n (pubk a-0)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dh_unifywith1
+  (vars (n text) (b a name))
+  (defstrand init 2 (n n) (a a) (b b))
+  (defstrand resp 2 (n n) (a a) (b b) (x (gen)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b) (privk a))
+  (uniq-orig n (gen))
+  (operation nonce-test (contracted (a-0 a) (x (gen))) n (0 1)
+    (enc n (pubk b)) (enc (gen) n (pubk a)))
+  (traces ((send (enc n (pubk b))) (recv (enc (gen) n (pubk a))))
+    ((recv (enc n (pubk b))) (send (enc (gen) n (pubk a)))))
+  (label 2)
+  (parent 1)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/dy.tst b/tst/dy.tst
--- a/tst/dy.tst
+++ b/tst/dy.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol dy basic
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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol epmo basic
diff --git a/tst/epmo_acctnum.tst b/tst/epmo_acctnum.tst
--- a/tst/epmo_acctnum.tst
+++ b/tst/epmo_acctnum.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol epmo_acctnum basic
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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol kerberos basic
@@ -297,37 +297,6 @@
   (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 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))
-  (precedes ((1 1) (0 1)) ((1 1) (3 1)) ((2 1) (0 3)) ((3 2) (2 0)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k)
-  (operation nonce-test
-    (contracted (a-0 a) (t-0 t) (b-1 b) (ks-1 ks) (l-1 l)) k (3 1)
-    (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))
-  (traces
-    ((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))))
-      (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 (enc a t k) (enc t l-0 k a (ltk b-0 ks-0))))
-      (send (enc t-prime k)))
-    ((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))))))
-  (label 11)
-  (parent 7)
-  (unrealized (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton kerberos
-  (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 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))
@@ -349,7 +318,7 @@
     ((send (cat b a))
       (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))
       (send (cat (enc b t k) (enc t l k b (ltk a ks))))))
-  (label 12)
+  (label 11)
   (parent 7)
   (unrealized (2 0))
   (comment "1 in cohort - 1 not yet seen"))
@@ -358,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 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,15 +342,15 @@
       (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))
       (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))))))
-  (label 13)
-  (parent 9)
+  (label 12)
+  (parent 7)
   (unrealized (2 0))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -411,40 +380,40 @@
     ((send (cat b a))
       (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))
       (send (cat (enc b t k) (enc t l k b (ltk a ks))))))
-  (label 14)
+  (label 13)
   (parent 9)
   (unrealized (2 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
-  (vars (t t-prime l text) (a b ks name) (k skey))
+  (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 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 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))
   (precedes ((1 1) (0 1)) ((1 1) (3 1)) ((2 1) (0 3)) ((3 2) (2 0)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig k)
-  (operation nonce-test (contracted (b-0 b) (ks-0 ks) (l-0 l)) k (2 0)
+  (operation nonce-test
+    (contracted (a-0 a) (t-0 t) (b-1 b) (ks-1 ks) (l-1 l)) k (3 1)
     (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))
   (traces
     ((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))))
       (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 (enc a t k) (enc t l k a (ltk b 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))
       (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))))))
-  (label 15)
-  (parent 11)
-  (unrealized)
-  (shape)
+  (label 14)
+  (parent 9)
+  (unrealized (2 0))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -472,8 +441,8 @@
     ((send (cat b a))
       (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))
       (send (cat (enc b t k) (enc t l k b (ltk a ks))))))
-  (label 16)
-  (parent 12)
+  (label 15)
+  (parent 11)
   (unrealized)
   (shape)
   (comment "1 in cohort - 1 not yet seen"))
@@ -482,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 a) (b b) (ks ks)
     (k k))
   (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
@@ -496,15 +465,15 @@
       (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))
       (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))))))
-  (label 17)
-  (parent 13)
+  (label 16)
+  (parent 12)
   (unrealized)
   (shape)
   (comment "1 in cohort - 1 not yet seen"))
@@ -534,9 +503,9 @@
     ((send (cat b a))
       (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))
       (send (cat (enc b t k) (enc t l k b (ltk a ks))))))
-  (label 18)
-  (parent 14)
-  (seen 20)
+  (label 17)
+  (parent 13)
+  (seen 19)
   (unrealized)
   (shape)
   (comment "1 in cohort - 0 not yet seen"))
@@ -545,26 +514,32 @@
   (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)))
+  (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (0 1)) ((1 1) (3 1)) ((2 1) (0 3)) ((3 2) (2 0)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig k)
-  (operation collapsed 3 0)
+  (operation nonce-test (contracted (b-0 b) (ks-0 ks) (l-0 l)) k (2 0)
+    (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))
   (traces
     ((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))))
       (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 19)
-  (parent 15)
+      (send (enc t-prime k)))
+    ((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))))))
+  (label 18)
+  (parent 14)
   (unrealized)
-  (shape))
+  (shape)
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
   (vars (t t-prime l text) (a ks name) (k skey))
@@ -586,8 +561,8 @@
       (send (cat (enc t l k a (ltk a ks)) (enc t l k a (ltk a ks)))))
     ((recv (cat (enc a t k) (enc t l k a (ltk a ks))))
       (send (enc t-prime k))))
-  (label 20)
-  (parent 16)
+  (label 19)
+  (parent 15)
   (seen 21)
   (unrealized)
   (comment "1 in cohort - 0 not yet seen"))
@@ -596,6 +571,31 @@
   (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 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)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k)
+  (operation collapsed 3 0)
+  (traces
+    ((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))))
+      (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 (enc a t k) (enc t l k a (ltk b ks))))
+      (send (enc t-prime k))))
+  (label 20)
+  (parent 16)
+  (unrealized)
+  (shape))
+
+(defskeleton kerberos
+  (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 resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)
     (k k))
@@ -613,7 +613,7 @@
     ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))
       (send (enc t-prime k))))
   (label 21)
-  (parent 17)
+  (parent 18)
   (unrealized)
   (shape))
 
diff --git a/tst/missing_contraction.scm b/tst/missing_contraction.scm
--- a/tst/missing_contraction.scm
+++ b/tst/missing_contraction.scm
@@ -1,12 +1,12 @@
 (defprotocol missing-contraction basic
   (defrole sender
     (vars (m n text) (a b name))
-    (trace 
+    (trace
      (send (enc a m (pubk a)))
      (send (enc a n (pubk b)))))
   (defrole receiver
     (vars (m text) (a b name))
-    (trace 
+    (trace
      (recv (enc a m (pubk b))))))
 
 (defskeleton missing-contraction
@@ -23,3 +23,12 @@
   (deflistener (enc a m (pubk c)))
   (uniq-orig m)
   (non-orig (privk a)))
+ 
+
+(defskeleton missing-contraction
+  (vars (m text) (a b c name))
+  (defstrand sender 2 (m m) (a a) (b b))
+  (defstrand receiver 1 (m m) (a a) (b c))
+  (precedes ((0 1) (1 0)))
+  (uniq-orig m)
+  (non-orig (privk a) (privk b)))
diff --git a/tst/missing_contraction.tst b/tst/missing_contraction.tst
--- a/tst/missing_contraction.tst
+++ b/tst/missing_contraction.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol missing-contraction basic
@@ -118,5 +118,92 @@
   (parent 4)
   (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 n text) (a b c 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) (privk b))
+  (uniq-orig m)
+  (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))
+    ((recv (enc a m (pubk c)))))
+  (label 7)
+  (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) (privk b))
+  (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 8)
+  (parent 7)
+  (unrealized)
+  (shape))
+
+(defskeleton missing-contraction
+  (vars (n text) (a b c 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) (privk b))
+  (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 9)
+  (parent 7)
+  (unrealized (1 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton missing-contraction
+  (vars (n text) (a b name))
+  (defstrand sender 2 (m n) (n n) (a a) (b b))
+  (defstrand receiver 1 (m n) (a a) (b b))
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n)
+  (operation nonce-test (contracted (c b)) n (1 0) (enc a n (pubk a))
+    (enc a n (pubk b)))
+  (traces ((send (enc a n (pubk a))) (send (enc a n (pubk b))))
+    ((recv (enc a n (pubk b)))))
+  (label 10)
+  (parent 9)
+  (unrealized)
+  (shape))
+
+(defskeleton missing-contraction
+  (vars (n text) (a b name))
+  (defstrand sender 2 (m n) (n n) (a a) (b b))
+  (defstrand receiver 1 (m n) (a a) (b a))
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n)
+  (operation nonce-test (contracted (c a)) n (1 0) (enc a n (pubk a))
+    (enc a n (pubk b)))
+  (traces ((send (enc a n (pubk a))) (send (enc a n (pubk b))))
+    ((recv (enc a n (pubk a)))))
+  (label 11)
+  (parent 9)
+  (seen 8)
+  (unrealized)
+  (comment "1 in cohort - 0 not yet seen"))
 
 (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,4424 +1,3812 @@
-(comment "CPSA 2.0.5")
-(comment "All input read")
-
-(defprotocol neuman-stubblebine basic
-  (defrole init
-    (vars (a b ks name) (ra rb text) (k skey) (tb text))
-    (trace (send (cat a ra))
-      (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (defrole resp
-    (vars (a b ks name) (ra rb text) (k skey) (tb text))
-    (trace (recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (defrole init-reauth
-    (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))
-    (trace (recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
-  (defrole resp-reauth
-    (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))
-    (trace (recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))
-  (defrole keyserver
-    (vars (a b ks name) (ra rb text) (k skey) (tb text))
-    (trace (recv (cat b rb (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
-    (uniq-orig k)))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))
-  (label 0)
-  (unrealized (0 2) (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((2 1) (0 2)) ((2 1) (1 0)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (1 0))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 2) (1 2) (2 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp 2)
-    (enc a ra-0 tb-0 (ltk b ks)) (2 0))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks))))))
-  (label 2)
-  (parent 1)
-  (unrealized (0 2) (1 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 tb-1 text)
-    (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-1) (rb rb-prime) (tb tb-1) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc rb-prime k)
-    (1 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
-          (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc rb-prime k)))))
-  (label 3)
-  (parent 2)
-  (unrealized (0 2) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 tb-1
-      text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((3 1) (2 0)) ((4 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc rb-prime k) (1 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))
-  (label 4)
-  (parent 2)
-  (unrealized (0 2) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 tb-1
-      text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc rb-prime k) (1 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))))
-  (label 5)
-  (parent 2)
-  (unrealized (0 2) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((3 1) (2 0))
-    ((4 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv k) (send k)))
-  (label 6)
-  (parent 2)
-  (unrealized (0 2) (4 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-1 tb-0)) k
-    (4 1) (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb-0 (ltk b ks)) (enc rb-prime k)))))
-  (label 7)
-  (parent 3)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((3 1) (2 0)) ((4 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)
-    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))
-  (label 8)
-  (parent 4)
-  (unrealized (0 2) (4 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)
-    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))))
-  (label 9)
-  (parent 5)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb (ltk b ks)) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))
-  (label 10)
-  (parent 7)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-1
-      text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-1) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (4 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
-          (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))
-  (label 11)
-  (parent 8)
-  (unrealized (0 2) (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (4 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))))
-  (label 12)
-  (parent 8)
-  (unrealized (0 2) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 13)
-  (parent 8)
-  (unrealized (0 2) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (4 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv k) (send k)))
-  (label 14)
-  (parent 8)
-  (unrealized (0 2) (5 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
-    ((4 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb (ltk b ks)) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))))
-  (label 15)
-  (parent 9)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
-  (label 16)
-  (parent 10)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 17)
-  (parent 10)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 18)
-  (parent 10)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))
-    ((4 2) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv k) (send k)))
-  (label 19)
-  (parent 10)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-1 tb-0)) k
-    (5 1) (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-0 k)))))
-  (label 20)
-  (parent 11)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)
-    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))))
-  (label 21)
-  (parent 12)
-  (unrealized (0 2) (5 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      rb-prime-0 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)
-    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 22)
-  (parent 13)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 tb-0
-      text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
-  (label 23)
-  (parent 15)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 24)
-  (parent 15)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 25)
-  (parent 15)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))
-    ((4 1) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))) ((recv k) (send k)))
-  (label 26)
-  (parent 15)
-  (unrealized (5 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (5 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 27)
-  (parent 16)
-  (unrealized)
-  (shape))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 28)
-  (parent 17)
-  (unrealized (5 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 29)
-  (parent 18)
-  (unrealized)
-  (shape)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb (ltk b ks)) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
-  (label 30)
-  (parent 20)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-1) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
-          (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))
-  (label 31)
-  (parent 21)
-  (unrealized (0 2) (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-prime-2 tb-1 text) (a b ks a-0 b-0 ks-0 name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 32)
-  (parent 21)
-  (unrealized (0 2) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 33)
-  (parent 21)
-  (unrealized (0 2) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))) ((recv k) (send k)))
-  (label 34)
-  (parent 21)
-  (unrealized (0 2) (6 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb (ltk b ks)) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 35)
-  (parent 22)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (5 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 36)
-  (parent 23)
-  (unrealized)
-  (shape)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 37)
-  (parent 24)
-  (unrealized (5 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 38)
-  (parent 25)
-  (unrealized)
-  (shape)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0
-      text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))
-  (label 39)
-  (parent 28)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))))
-  (label 40)
-  (parent 28)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 41)
-  (parent 28)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 42)
-  (parent 28)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((3 0) (0 0)) ((3 2) (1 2)) ((4 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation collapsed 3 0)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
-    ((send (cat a ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 43)
-  (parent 29)
-  (unrealized)
-  (shape)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 1)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra ra-prime rb-prime k)
-  (operation collapsed 5 1)
-  (traces
-    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
-    ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))
-  (label 44)
-  (parent 29)
-  (seen 66)
-  (unrealized)
-  (shape)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0
-      text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
-  (label 45)
-  (parent 30)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
-  (label 46)
-  (parent 30)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 47)
-  (parent 30)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 1))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2))
-    ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv k) (send k)))
-  (label 48)
-  (parent 30)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-1 tb-0)) k
-    (6 1) (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          ra-prime-1))
-      (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-1 k)))))
-  (label 49)
-  (parent 31)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)
-    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 50)
-  (parent 32)
-  (unrealized (0 2) (6 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 rb-prime-0 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)
-    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 51)
-  (parent 33)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 1) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k))))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
-  (label 52)
-  (parent 35)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 1) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k))))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
-  (label 53)
-  (parent 35)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 1) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 54)
-  (parent 35)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2))
-    ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))) ((recv k) (send k)))
-  (label 55)
-  (parent 35)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))
-    ((3 1) (1 2)) ((4 0) (0 0)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation collapsed 3 0)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((send (cat a ra))
-      (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 56)
-  (parent 36)
-  (unrealized)
-  (shape))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))
-  (label 57)
-  (parent 37)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))))
-  (label 58)
-  (parent 37)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat rb-prime-1 (enc ra-prime-0 k)))))
-  (label 59)
-  (parent 37)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (5 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 60)
-  (parent 37)
-  (unrealized (6 0))
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 rb-prime-1 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((3 1) (1 2)) ((4 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation collapsed 3 0)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 61)
-  (parent 38)
-  (unrealized)
-  (shape)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 0)) ((2 1) (1 0))
-    ((3 1) (2 0)) ((4 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra ra-prime rb-prime k)
-  (operation collapsed 5 1)
-  (traces
-    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
-    ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))))
-  (label 62)
-  (parent 38)
-  (seen 82)
-  (unrealized)
-  (shape)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
-  (label 63)
-  (parent 39)
-  (unrealized)
-  (shape))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))))
-  (label 64)
-  (parent 40)
-  (unrealized (6 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 65)
-  (parent 41)
-  (unrealized)
-  (shape)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra ra-prime rb-prime tb rb text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 1)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra ra-prime rb-prime k)
-  (operation collapsed 4 1)
-  (traces
-    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
-    ((send (cat a ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))
-  (label 66)
-  (parent 43)
-  (unrealized)
-  (shape))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 67)
-  (parent 45)
-  (unrealized)
-  (shape))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
-  (label 68)
-  (parent 46)
-  (unrealized (6 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 69)
-  (parent 47)
-  (unrealized)
-  (shape)
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb (ltk b ks)) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-1))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k)))))
-  (label 70)
-  (parent 49)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(comment "Strand bound exceeded--aborting run")
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-prime-2 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-2) (tb tb-1) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
-          (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 71)
-  (parent 50)
-  (unrealized (0 2) (7 1))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-prime-2 ra-prime-3 tb-1 text)
-    (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-3) (rb-prime ra-prime-2)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k))))
-  (label 72)
-  (parent 50)
-  (unrealized (0 2) (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-prime-2 rb-prime-0 tb-1 text)
-    (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-2) (rb-prime rb-prime-0)
-    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 73)
-  (parent 50)
-  (unrealized (0 2) (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
-      ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0))
-      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a k tb-0 (ltk b ks)))
-      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))) ((recv k) (send k)))
-  (label 74)
-  (parent 50)
-  (unrealized (0 2) (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb (ltk b ks)) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 75)
-  (parent 51)
-  (unrealized (0 2))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 1) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 76)
-  (parent 52)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      ra-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 1) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
-  (label 77)
-  (parent 53)
-  (unrealized (6 2))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      rb-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 1) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 78)
-  (parent 54)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
-  (label 79)
-  (parent 57)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      ra-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))))
-  (label 80)
-  (parent 58)
-  (unrealized (6 2))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      rb-prime-1 text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-1 (enc ra-prime-0 k)))))
-  (label 81)
-  (parent 59)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra ra-prime rb-prime tb rb rb-prime-0 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 0)) ((2 1) (1 0))
-    ((3 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra ra-prime rb-prime k)
-  (operation collapsed 4 1)
-  (traces
-    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))))
-  (label 82)
-  (parent 61)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0)) ((4 2) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))
-  (label 83)
-  (parent 64)
-  (unrealized (7 1))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 2) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 84)
-  (parent 64)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 2) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 85)
-  (parent 64)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 2) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k))) ((recv k) (send k)))
-  (label 86)
-  (parent 64)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
-    ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation collapsed 3 0)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
-    ((send (cat a ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 87)
-  (parent 65)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
-    (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((1 1) (5 2)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (1 0)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation collapsed 6 1)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-prime))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
-  (label 88)
-  (parent 65)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))
-  (label 89)
-  (parent 68)
-  (unrealized (7 1))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 90)
-  (parent 68)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 91)
-  (parent 68)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (deflistener k)
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 92)
-  (parent 68)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra rb ra-prime rb-prime tb rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
-    (a a) (b b) (ks ks) (k k))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 1)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 0) (0 0))
-    ((4 2) (3 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation collapsed 3 0)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
-      (send
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 93)
-  (parent 69)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 text)
-    (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 2)) ((2 1) (1 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra ra-prime rb-prime k)
-  (operation collapsed 6 1)
-  (traces
-    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
-    ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-0))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
-  (label 94)
-  (parent 69)
-  (unrealized)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0) (k k))
-  (precedes ((0 1) (7 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 1)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 2) (5 2)) ((7 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-1))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))
-    ((send (cat a-0 ra-1))
-      (recv
-        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
-  (label 95)
-  (parent 70)
-  (unrealized (7 1))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime rb) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (7 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 2) (5 2)) ((7 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-1))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))
-    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
-  (label 96)
-  (parent 70)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)
-    (a a-0) (b b-0) (ks ks-0) (k k))
-  (precedes ((0 1) (7 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 3) (4 2)) ((6 2) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-1))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 97)
-  (parent 70)
-  (unrealized (7 0))
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine
-  (vars
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name) (k skey))
-  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
-    (k k))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
-    (tb tb) (a a) (b b) (ks ks) (k k))
-  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks) (k k))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 3) (1 2))
-    ((5 3) (4 2)) ((6 2) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig ra rb ra-prime rb-prime k)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
-      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
-      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
-    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
-      (send
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          rb-0)))
-    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-1))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))
-    ((recv k) (send k)))
-  (label 98)
-  (parent 70)
-  (unrealized (7 0))
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol neuman-stubblebine basic
+  (defrole init
+    (vars (a b ks name) (ra rb text) (k skey) (tb text))
+    (trace (send (cat a ra))
+      (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (defrole resp
+    (vars (a b ks name) (ra rb text) (k skey) (tb text))
+    (trace (recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (defrole init-reauth
+    (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))
+    (trace (recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
+  (defrole resp-reauth
+    (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))
+    (trace (recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))
+  (defrole keyserver
+    (vars (a b ks name) (ra rb text) (k skey) (tb text))
+    (trace (recv (cat b rb (enc a ra tb (ltk b ks))))
+      (send
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
+    (uniq-orig k)))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))
+  (label 0)
+  (unrealized (0 2) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((2 1) (0 2)) ((2 1) (1 0)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (1 0))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 2) (1 2) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp 2)
+    (enc a ra-0 tb-0 (ltk b ks)) (2 0))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks))))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 2) (1 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 tb-1 text)
+    (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-1) (rb rb-prime) (tb tb-1) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc rb-prime k)
+    (1 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
+          (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc rb-prime k)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 2) (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 tb-1
+      text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((3 1) (2 0)) ((4 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc rb-prime k) (1 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))
+  (label 4)
+  (parent 2)
+  (unrealized (0 2) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 tb-1
+      text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc rb-prime k) (1 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))))
+  (label 5)
+  (parent 2)
+  (unrealized (0 2) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((3 1) (2 0))
+    ((4 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv k) (send k)))
+  (label 6)
+  (parent 2)
+  (unrealized (0 2) (4 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-1) (rb rb-prime) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 1)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb-0 (ltk b ks)) (enc rb-prime k)))))
+  (label 7)
+  (parent 3)
+  (unrealized (0 2) (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((3 1) (2 0)) ((4 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))
+  (label 8)
+  (parent 4)
+  (unrealized (0 2) (4 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))))
+  (label 9)
+  (parent 5)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc b ra-0 k tb-0 (ltk a ks)) (4 1))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb-0 (ltk b ks)) (enc rb-prime k)))))
+  (label 10)
+  (parent 7)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-1
+      text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-1) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (4 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
+          (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))
+  (label 11)
+  (parent 8)
+  (unrealized (0 2) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (4 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))))
+  (label 12)
+  (parent 8)
+  (unrealized (0 2) (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 13)
+  (parent 8)
+  (unrealized (0 2) (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (4 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv k) (send k)))
+  (label 14)
+  (parent 8)
+  (unrealized (0 2) (5 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb (ltk b ks)) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))))
+  (label 15)
+  (parent 9)
+  (unrealized (0 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))
+    ((4 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb (ltk b ks)) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))
+  (label 16)
+  (parent 10)
+  (unrealized (0 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 ra-1
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 1)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-0 k)))))
+  (label 17)
+  (parent 11)
+  (unrealized (0 2) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))))
+  (label 18)
+  (parent 12)
+  (unrealized (0 2) (5 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      rb-prime-0 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 19)
+  (parent 13)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 tb-0
+      text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
+  (label 20)
+  (parent 15)
+  (unrealized (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 21)
+  (parent 15)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 22)
+  (parent 15)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))
+    ((4 1) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))) ((recv k) (send k)))
+  (label 23)
+  (parent 15)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
+  (label 24)
+  (parent 16)
+  (unrealized (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 25)
+  (parent 16)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 26)
+  (parent 16)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))
+    ((4 2) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv k) (send k)))
+  (label 27)
+  (parent 16)
+  (unrealized (5 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc b ra-0 k tb-0 (ltk a ks)) (5 1))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-0 k)))))
+  (label 28)
+  (parent 17)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-1) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
+          (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))
+  (label 29)
+  (parent 18)
+  (unrealized (0 2) (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-prime-2 tb-1 text) (a b ks a-0 b-0 ks-0 name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 30)
+  (parent 18)
+  (unrealized (0 2) (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))
+      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
+  (label 31)
+  (parent 18)
+  (unrealized (0 2) (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))) ((recv k) (send k)))
+  (label 32)
+  (parent 18)
+  (unrealized (0 2) (6 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb (ltk b ks)) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 33)
+  (parent 19)
+  (unrealized (0 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (5 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 34)
+  (parent 20)
+  (unrealized (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 35)
+  (parent 21)
+  (unrealized (5 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 36)
+  (parent 22)
+  (unrealized)
+  (shape)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (5 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 37)
+  (parent 24)
+  (unrealized (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 38)
+  (parent 25)
+  (unrealized (5 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 39)
+  (parent 26)
+  (unrealized)
+  (shape)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb (ltk b ks)) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
+  (label 40)
+  (parent 28)
+  (unrealized (0 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 1)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          ra-prime-1))
+      (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-1 k)))))
+  (label 41)
+  (parent 29)
+  (unrealized (0 2) (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 42)
+  (parent 30)
+  (unrealized (0 2) (6 2))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 rb-prime-0 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test
+    (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)
+    (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
+  (label 43)
+  (parent 31)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 1) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k))))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
+  (label 44)
+  (parent 33)
+  (unrealized (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 1) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k))))
+    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
+  (label 45)
+  (parent 33)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 1) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 46)
+  (parent 33)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2))
+    ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))) ((recv k) (send k)))
+  (label 47)
+  (parent 33)
+  (unrealized (6 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 48)
+  (parent 34)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))
+  (label 49)
+  (parent 35)
+  (unrealized (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))))
+  (label 50)
+  (parent 35)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat rb-prime-1 (enc ra-prime-0 k)))))
+  (label 51)
+  (parent 35)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 52)
+  (parent 35)
+  (unrealized (6 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 rb-prime-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((3 1) (1 2)) ((4 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation collapsed 3 0)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
+      (send
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 53)
+  (parent 36)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 rb-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 0)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra ra-prime rb-prime k)
+  (operation collapsed 5 1)
+  (traces
+    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
+    ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))))
+  (label 54)
+  (parent 36)
+  (seen 79)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 55)
+  (parent 37)
+  (unrealized)
+  (shape))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0
+      text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))
+  (label 56)
+  (parent 38)
+  (unrealized (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))))
+  (label 57)
+  (parent 38)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 58)
+  (parent 38)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (5 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 59)
+  (parent 38)
+  (unrealized (6 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((3 0) (0 0)) ((3 2) (1 2)) ((4 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation collapsed 3 0)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
+      (send
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
+    ((send (cat a ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 60)
+  (parent 39)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 1)) ((2 1) (1 0))
+    ((3 1) (2 0)) ((4 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra ra-prime rb-prime k)
+  (operation collapsed 5 1)
+  (traces
+    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
+    ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))
+  (label 61)
+  (parent 39)
+  (seen 83)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0
+      text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 2) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
+  (label 62)
+  (parent 40)
+  (unrealized (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 2) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
+  (label 63)
+  (parent 40)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)
+    (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 2) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 64)
+  (parent 40)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 1))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2))
+    ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((recv k) (send k)))
+  (label 65)
+  (parent 40)
+  (unrealized (6 0))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc b ra-0 k tb-0 (ltk a ks)) (6 1))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          ra-prime-1))
+      (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-1 k)))))
+  (label 66)
+  (parent 41)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(comment "Strand bound exceeded--aborting run")
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-prime-2 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-2) (tb tb-1) (a a-0) (b b-0)
+    (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k)))
+    ((send (cat a-0 ra-1))
+      (recv
+        (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))
+          (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 67)
+  (parent 42)
+  (unrealized (0 2) (7 1))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-prime-2 ra-prime-3 tb-1 text)
+    (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-3) (rb-prime ra-prime-2)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k))))
+  (label 68)
+  (parent 42)
+  (unrealized (0 2) (7 0))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-prime-2 rb-prime-0 tb-1 text)
+    (a b ks a-0 b-0 ks-0 name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-2) (rb-prime rb-prime-0)
+    (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 69)
+  (parent 42)
+  (unrealized (0 2) (7 0))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0
+      ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)
+    (tb tb-0) (a a) (b b) (ks ks) (k k))
+  (deflistener k)
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0))
+      (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (enc a k tb-0 (ltk b ks)))
+      (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))) ((recv k) (send k)))
+  (label 70)
+  (parent 42)
+  (unrealized (0 2) (7 0))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      rb-prime-0 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb (ltk b ks)) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
+  (label 71)
+  (parent 43)
+  (unrealized (0 2))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 1) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k))))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 72)
+  (parent 44)
+  (unrealized (6 1))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 1) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
+  (label 73)
+  (parent 45)
+  (unrealized (6 2))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      rb-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 1) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 74)
+  (parent 46)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))
+    ((3 1) (1 2)) ((4 0) (0 0)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation collapsed 3 0)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))
+      (send
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((send (cat a ra))
+      (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 75)
+  (parent 48)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
+  (label 76)
+  (parent 49)
+  (unrealized (6 1))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))))
+  (label 77)
+  (parent 50)
+  (unrealized (6 2))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      rb-prime-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-1 (enc ra-prime-0 k)))))
+  (label 78)
+  (parent 51)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra ra-prime rb-prime tb rb rb-prime-0 text) (a b ks name)
+    (k skey))
+  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 0)) ((2 1) (1 0))
+    ((3 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra ra-prime rb-prime k)
+  (operation collapsed 4 1)
+  (traces
+    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb (enc a ra tb (ltk b ks))))
+      (send
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))))
+  (label 79)
+  (parent 53)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))
+  (label 80)
+  (parent 56)
+  (unrealized (6 1))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k))))
+  (label 81)
+  (parent 57)
+  (unrealized (6 2))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 82)
+  (parent 58)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra ra-prime rb-prime tb rb text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 1)) ((2 1) (1 0))
+    ((3 0) (0 0)) ((3 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra ra-prime rb-prime k)
+  (operation collapsed 4 1)
+  (traces
+    ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb (enc a ra tb (ltk b ks))))
+      (send
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
+    ((send (cat a ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-prime))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))
+  (label 83)
+  (parent 60)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
+    (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 2) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 84)
+  (parent 62)
+  (unrealized (6 1))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 2) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
+  (label 85)
+  (parent 63)
+  (unrealized (6 2))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)
+    (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 2) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-0))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 86)
+  (parent 64)
+  (unrealized)
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine
+  (vars
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)
+    (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks) (k k))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))
+    ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb ra-prime rb-prime k)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb (ltk b ks)) (0 2))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime))
+      (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (recv (cat ra-prime-0 (enc ra-prime-1 k)))
+      (send (enc ra-prime-0 k)))
+    ((send (cat a ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-1))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k)))))
+  (label 87)
+  (parent 66)
+  (unrealized (0 2))
   (comment "aborted"))
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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol neuman-stubblebine basic
@@ -212,6 +212,35 @@
   (comment "empty cohort"))
 
 (defskeleton neuman-stubblebine
+  (vars (ra rb tb ra-0 rb-0 rb-1 ra-1 text) (a b ks name) (k skey))
+  (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
+    (k k))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
+  (precedes ((0 1) (3 1)) ((1 1) (3 1)) ((2 1) (1 0)) ((3 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig ra rb k)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (3 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
+      (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
+    ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))
+      (send
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          rb-0)))
+    ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))
+    ((send (cat a ra-1))
+      (recv
+        (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 8)
+  (parent 6)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine
   (vars (ra rb tb ra-0 rb-0 rb-1 text) (a b ks name) (k skey))
   (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))
   (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)
@@ -221,9 +250,8 @@
   (precedes ((0 1) (3 1)) ((1 1) (3 1)) ((2 1) (1 0)) ((3 2) (0 2)))
   (non-orig (ltk a ks) (ltk b ks))
   (uniq-orig ra rb k)
-  (operation nonce-test
-    (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (3 1)
-    (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))
+  (operation encryption-test (added-strand keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (3 1))
   (traces
     ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))
       (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))
@@ -236,8 +264,8 @@
       (recv
         (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
       (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 8)
-  (parent 6)
+  (label 9)
+  (parent 8)
   (unrealized)
   (shape)
   (comment "1 in cohort - 1 not yet seen"))
@@ -261,8 +289,8 @@
     ((send (cat a ra))
       (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))
       (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 9)
-  (parent 8)
+  (label 10)
+  (parent 9)
   (unrealized)
   (shape))
 
@@ -295,7 +323,7 @@
     ((recv (cat b rb (enc a ra tb (ltk b ks))))
       (send
         (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))))
-  (label 10)
+  (label 11)
   (unrealized (0 0))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -314,8 +342,8 @@
       (send
         (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))
     ((recv (cat a ra)) (send (cat b rb-0 (enc a ra tb (ltk b ks))))))
-  (label 11)
-  (parent 10)
+  (label 12)
+  (parent 11)
   (unrealized)
   (shape))
 
diff --git a/tst/no_contraction.tst b/tst/no_contraction.tst
--- a/tst/no_contraction.tst
+++ b/tst/no_contraction.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol no-contraction basic
diff --git a/tst/non_transforming.scm b/tst/non_transforming.scm
new file mode 100644
--- /dev/null
+++ b/tst/non_transforming.scm
@@ -0,0 +1,33 @@
+(defprotocol non_transforming basic
+  (defrole sender
+    (vars (a b text) (B name))
+    (trace
+      (send (enc a b (pubk B)))
+    )
+    (uniq-orig a b)
+    (non-orig (privk B))
+  )
+  (defrole recv
+    (vars (a b text) (B name))
+    (trace
+      (recv (enc a (pubk B)))
+      (recv (enc b (pubk B)))
+    )
+  )
+  (defrole breaker
+    (vars (a b text) (B name))
+    (trace
+       (recv (enc a b (pubk B)))
+       (send (enc a (pubk B)))
+       (send (enc b (pubk B)))
+    )
+  )
+)
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B B0 B1 name))
+  (defstrand recv 2 (a a) (b b) (B B))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (uniq-orig a b)
+)
diff --git a/tst/non_transforming.tst b/tst/non_transforming.tst
new file mode 100644
--- /dev/null
+++ b/tst/non_transforming.tst
@@ -0,0 +1,229 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol non_transforming basic
+  (defrole sender
+    (vars (a b text) (B name))
+    (trace (send (enc a b (pubk B))))
+    (non-orig (privk B))
+    (uniq-orig a b))
+  (defrole recv
+    (vars (a b text) (B name))
+    (trace (recv (enc a (pubk B))) (recv (enc b (pubk B)))))
+  (defrole breaker
+    (vars (a b text) (B name))
+    (trace (recv (enc a b (pubk B))) (send (enc a (pubk B)))
+      (send (enc b (pubk B))))))
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B B0 B1 name))
+  (defstrand recv 2 (a a) (b b) (B B))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (non-orig (privk B0) (privk B1))
+  (uniq-orig a b c d)
+  (traces ((recv (enc a (pubk B))) (recv (enc b (pubk B))))
+    ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1)))))
+  (label 0)
+  (unrealized (0 0) (0 1)))
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B B0 B1 name))
+  (defstrand recv 2 (a a) (b b) (B B))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (precedes ((1 0) (0 0)) ((2 0) (0 1)))
+  (non-orig (privk B0) (privk B1))
+  (uniq-orig a b c d)
+  (traces ((recv (enc a (pubk B))) (recv (enc b (pubk B))))
+    ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 0) (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B B0 B1 name))
+  (defstrand recv 2 (a a) (b b) (B B))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B0))
+  (precedes ((1 0) (3 0)) ((2 0) (0 1)) ((3 1) (0 0)))
+  (non-orig (privk B0) (privk B1))
+  (uniq-orig a b c d)
+  (operation nonce-test (added-strand breaker 2) a (0 0)
+    (enc a d (pubk B0)))
+  (traces ((recv (enc a (pubk B))) (recv (enc b (pubk B))))
+    ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1))))
+    ((recv (enc a d (pubk B0))) (send (enc a (pubk B0)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 0) (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B0 B1 name))
+  (defstrand recv 2 (a a) (b b) (B B0))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B0))
+  (precedes ((1 0) (3 0)) ((2 0) (0 1)) ((3 1) (0 0)))
+  (non-orig (privk B0) (privk B1))
+  (uniq-orig a b c d)
+  (operation nonce-test (contracted (B B0)) a (0 0) (enc a (pubk B0))
+    (enc a d (pubk B0)))
+  (traces ((recv (enc a (pubk B0))) (recv (enc b (pubk B0))))
+    ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1))))
+    ((recv (enc a d (pubk B0))) (send (enc a (pubk B0)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B0 B1 name))
+  (defstrand recv 2 (a a) (b b) (B B0))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B0))
+  (defstrand breaker 3 (a c) (b b) (B B1))
+  (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 2) (0 1)))
+  (non-orig (privk B0) (privk B1))
+  (uniq-orig a b c d)
+  (operation nonce-test (added-strand breaker 3) b (0 1)
+    (enc c b (pubk B1)))
+  (traces ((recv (enc a (pubk B0))) (recv (enc b (pubk B0))))
+    ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1))))
+    ((recv (enc a d (pubk B0))) (send (enc a (pubk B0))))
+    ((recv (enc c b (pubk B1))) (send (enc c (pubk B1)))
+      (send (enc b (pubk B1)))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a c d text) (B0 B1 name))
+  (defstrand recv 2 (a a) (b c) (B B0))
+  (defstrand sender 1 (a a) (b d) (B B0))
+  (defstrand sender 1 (a c) (b c) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B0))
+  (defstrand breaker 2 (a c) (b c) (B B1))
+  (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 1) (0 1)))
+  (non-orig (privk B0) (privk B1))
+  (uniq-orig a c d)
+  (operation nonce-test (added-strand breaker 2) c (0 1)
+    (enc c c (pubk B1)))
+  (traces ((recv (enc a (pubk B0))) (recv (enc c (pubk B0))))
+    ((send (enc a d (pubk B0)))) ((send (enc c c (pubk B1))))
+    ((recv (enc a d (pubk B0))) (send (enc a (pubk B0))))
+    ((recv (enc c c (pubk B1))) (send (enc c (pubk B1)))))
+  (label 5)
+  (parent 3)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a b c d text) (B1 name))
+  (defstrand recv 2 (a a) (b b) (B B1))
+  (defstrand sender 1 (a a) (b d) (B B1))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B1))
+  (defstrand breaker 3 (a c) (b b) (B B1))
+  (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 2) (0 1)))
+  (non-orig (privk B1))
+  (uniq-orig a b c d)
+  (operation nonce-test (contracted (B0 B1)) b (0 1) (enc b (pubk B1))
+    (enc c b (pubk B1)))
+  (traces ((recv (enc a (pubk B1))) (recv (enc b (pubk B1))))
+    ((send (enc a d (pubk B1)))) ((send (enc c b (pubk B1))))
+    ((recv (enc a d (pubk B1))) (send (enc a (pubk B1))))
+    ((recv (enc c b (pubk B1))) (send (enc c (pubk B1)))
+      (send (enc b (pubk B1)))))
+  (label 6)
+  (parent 4)
+  (unrealized)
+  (shape)
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a c d text) (B1 name))
+  (defstrand recv 2 (a a) (b c) (B B1))
+  (defstrand sender 1 (a a) (b d) (B B1))
+  (defstrand sender 1 (a c) (b c) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B1))
+  (defstrand breaker 2 (a c) (b c) (B B1))
+  (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 1) (0 1)))
+  (non-orig (privk B1))
+  (uniq-orig a c d)
+  (operation nonce-test (contracted (B0 B1)) c (0 1) (enc c (pubk B1))
+    (enc c c (pubk B1)))
+  (traces ((recv (enc a (pubk B1))) (recv (enc c (pubk B1))))
+    ((send (enc a d (pubk B1)))) ((send (enc c c (pubk B1))))
+    ((recv (enc a d (pubk B1))) (send (enc a (pubk B1))))
+    ((recv (enc c c (pubk B1))) (send (enc c (pubk B1)))))
+  (label 7)
+  (parent 5)
+  (seen 10)
+  (unrealized)
+  (shape)
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (a d text) (B1 name))
+  (defstrand recv 2 (a a) (b d) (B B1))
+  (defstrand sender 1 (a a) (b d) (B B1))
+  (defstrand breaker 2 (a a) (b d) (B B1))
+  (defstrand breaker 3 (a a) (b d) (B B1))
+  (precedes ((1 0) (2 0)) ((1 0) (3 0)) ((2 1) (0 0)) ((3 2) (0 1)))
+  (non-orig (privk B1))
+  (uniq-orig a d)
+  (operation collapsed 2 1)
+  (traces ((recv (enc a (pubk B1))) (recv (enc d (pubk B1))))
+    ((send (enc a d (pubk B1))))
+    ((recv (enc a d (pubk B1))) (send (enc a (pubk B1))))
+    ((recv (enc a d (pubk B1))) (send (enc a (pubk B1)))
+      (send (enc d (pubk B1)))))
+  (label 8)
+  (parent 6)
+  (seen 9)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton non_transforming
+  (vars (b c text) (B1 name))
+  (defstrand recv 2 (a c) (b b) (B B1))
+  (defstrand sender 1 (a c) (b b) (B B1))
+  (defstrand breaker 3 (a c) (b b) (B B1))
+  (precedes ((1 0) (2 0)) ((2 1) (0 0)) ((2 2) (0 1)))
+  (non-orig (privk B1))
+  (uniq-orig b c)
+  (operation collapsed 3 4)
+  (traces ((recv (enc c (pubk B1))) (recv (enc b (pubk B1))))
+    ((send (enc c b (pubk B1))))
+    ((recv (enc c b (pubk B1))) (send (enc c (pubk B1)))
+      (send (enc b (pubk B1)))))
+  (label 9)
+  (parent 6)
+  (unrealized)
+  (shape))
+
+(defskeleton non_transforming
+  (vars (d text) (B1 name))
+  (defstrand recv 2 (a d) (b d) (B B1))
+  (defstrand sender 1 (a d) (b d) (B B1))
+  (defstrand breaker 2 (a d) (b d) (B B1))
+  (precedes ((1 0) (2 0)) ((2 1) (0 0)))
+  (non-orig (privk B1))
+  (uniq-orig d)
+  (operation collapsed 2 1)
+  (traces ((recv (enc d (pubk B1))) (recv (enc d (pubk B1))))
+    ((send (enc d d (pubk B1))))
+    ((recv (enc d d (pubk B1))) (send (enc d (pubk B1)))))
+  (label 10)
+  (parent 7)
+  (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.5")
+(comment "CPSA 2.1.0")
 (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,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol nsl3 basic
diff --git a/tst/nsl4cm1.lsp b/tst/nsl4cm1.lsp
--- a/tst/nsl4cm1.lsp
+++ b/tst/nsl4cm1.lsp
diff --git a/tst/nsl4cm1.tst b/tst/nsl4cm1.tst
--- a/tst/nsl4cm1.tst
+++ b/tst/nsl4cm1.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 2.0.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol nsl4cm basic
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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol or basic
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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol aic basic
diff --git a/tst/pruning1.scm b/tst/pruning1.scm
new file mode 100644
--- /dev/null
+++ b/tst/pruning1.scm
@@ -0,0 +1,32 @@
+(defprotocol prune basic
+  (defrole init (vars (a b name) (n text))
+    (trace 
+	(send (enc n (pubk a)))
+      (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a)))
+	)
+    (uniq-orig n)
+    (non-orig (privk a))
+  )
+  (defrole trans (vars (a name) (n text) (k akey))
+     (trace
+        (recv (enc n (pubk a)))
+	(recv k )
+        (send (enc n k (pubk a)))
+     )
+  )
+  (comment "Shows a failure with generalization"
+	   "Run this with a step count of 4"))
+
+(defskeleton prune
+  (vars (a name) (n text) (k akey))
+  (defstrand init 3))
+
+(defskeleton prune
+  (vars (n text) (a b name))
+  (defstrand init 3 (n n) (a a) (b b))
+  (defstrand trans 3 (n n) (a a) (k (pubk b)))
+  (defstrand trans 3 (n n) (a a) (k (privk b)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))
+)
+
diff --git a/tst/pruning1.tst b/tst/pruning1.tst
new file mode 100644
--- /dev/null
+++ b/tst/pruning1.tst
@@ -0,0 +1,143 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol prune basic
+  (defrole init
+    (vars (a b name) (n text))
+    (trace (send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    (non-orig (privk a))
+    (uniq-orig n))
+  (defrole trans
+    (vars (a name) (n text) (k akey))
+    (trace (recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))
+  (comment "Shows a failure with generalization"
+    "Run this with a step count of 4"))
+
+(defskeleton prune
+  (vars (n text) (a b name))
+  (defstrand init 3 (n n) (a a) (b b))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces
+    ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a)))))
+  (label 0)
+  (unrealized (0 1) (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton prune
+  (vars (n text) (a b name) (k akey))
+  (defstrand init 3 (n n) (a a) (b b))
+  (defstrand trans 3 (n n) (a a) (k k))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a)))
+  (traces
+    ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton prune
+  (vars (n text) (a b name))
+  (defstrand init 3 (n n) (a a) (b b))
+  (defstrand trans 3 (n n) (a a) (k (pubk b)))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (contracted (k (pubk b))) n (0 1)
+    (enc n (pubk a)) (enc n (pubk b) (pubk a)))
+  (traces
+    ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (pubk b))
+      (send (enc n (pubk b) (pubk a)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton prune
+  (vars (n text) (a b name) (k akey))
+  (defstrand init 3 (n n) (a a) (b b))
+  (defstrand trans 3 (n n) (a a) (k (pubk b)))
+  (defstrand trans 3 (n n) (a a) (k k))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (0 2) (enc n (pubk a))
+    (enc n (pubk b) (pubk a)))
+  (traces
+    ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (pubk b))
+      (send (enc n (pubk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton prune
+  (vars (n text) (a b name))
+  (defstrand init 3 (n n) (a a) (b b))
+  (defstrand trans 3 (n n) (a a) (k (pubk b)))
+  (defstrand trans 3 (n n) (a a) (k (privk b)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (contracted (k (privk b))) n (0 2)
+    (enc n (pubk a)) (enc n (privk b) (pubk a))
+    (enc n (pubk b) (pubk a)))
+  (traces
+    ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (pubk b))
+      (send (enc n (pubk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (privk b))
+      (send (enc n (privk b) (pubk a)))))
+  (label 4)
+  (parent 3)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol prune basic
+  (defrole init
+    (vars (a b name) (n text))
+    (trace (send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    (non-orig (privk a))
+    (uniq-orig n))
+  (defrole trans
+    (vars (a name) (n text) (k akey))
+    (trace (recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))
+  (comment "Shows a failure with generalization"
+    "Run this with a step count of 4"))
+
+(defskeleton prune
+  (vars (n text) (a b name))
+  (defstrand init 3 (n n) (a a) (b b))
+  (defstrand trans 3 (n n) (a a) (k (pubk b)))
+  (defstrand trans 3 (n n) (a a) (k (privk b)))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces
+    ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))
+      (recv (enc n (privk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (pubk b))
+      (send (enc n (pubk b) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (privk b))
+      (send (enc n (privk b) (pubk a)))))
+  (label 5)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/sigenc.scm b/tst/sigenc.scm
--- a/tst/sigenc.scm
+++ b/tst/sigenc.scm
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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol epmo_acctnum basic
diff --git a/tst/targetterms2.scm b/tst/targetterms2.scm
new file mode 100644
--- /dev/null
+++ b/tst/targetterms2.scm
@@ -0,0 +1,23 @@
+;;; Target terms experiment
+
+(defprotocol tt2 basic
+  (defrole init (vars (a name) (n text))
+    (trace
+	(send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))
+    )
+    (uniq-orig n)
+    (non-orig (privk a))
+)
+  (defrole trans (vars (a name) (n text) (m mesg))
+    (trace
+     (recv (enc n (pubk a)))
+     (recv m)
+     (send (enc n m (pubk a)))
+    ))
+)
+
+(defskeleton tt2
+  (vars (a name) (n text))
+  (defstrand init 2 (a a) (n n))
+)
diff --git a/tst/targetterms2.tst b/tst/targetterms2.tst
new file mode 100644
--- /dev/null
+++ b/tst/targetterms2.tst
@@ -0,0 +1,195 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol tt2 basic
+  (defrole init
+    (vars (a name) (n text))
+    (trace (send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    (non-orig (privk a))
+    (uniq-orig n))
+  (defrole trans
+    (vars (a name) (n text) (m mesg))
+    (trace (recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a))))))
+
+(defskeleton tt2
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))
+  (label 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt2
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton tt2
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test
+    (contracted (m (enc n (enc n (pubk a)) (pubk a)))) n (0 1)
+    (enc n (pubk a)) (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))
+  (label 2)
+  (parent 1)
+  (unrealized (1 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt2
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (contracted (m (enc n (pubk a)))) n (0 1)
+    (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a)))))
+  (label 3)
+  (parent 1)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt2
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (1 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (1 1) (enc n (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 4)
+  (parent 2)
+  (unrealized (1 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt2
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a))
+    (enc n (enc n (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 5)
+  (parent 3)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt2
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (1 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (contracted (m (enc n (pubk a)))) n (1 1)
+    (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a)))))
+  (label 6)
+  (parent 4)
+  (unrealized)
+  (shape))
+
+(defskeleton tt2
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test
+    (contracted (m (enc n (enc n (pubk a)) (pubk a)))) n (0 1)
+    (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a))
+    (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))
+  (label 7)
+  (parent 5)
+  (unrealized (2 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt2
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 2) (0 1))
+    ((2 2) (0 1)) ((3 2) (2 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (2 1) (enc n (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 8)
+  (parent 7)
+  (seen 6)
+  (unrealized (2 1))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(comment "Nothing left to do")
diff --git a/tst/targetterms6.scm b/tst/targetterms6.scm
new file mode 100644
--- /dev/null
+++ b/tst/targetterms6.scm
@@ -0,0 +1,32 @@
+;;; Target terms experiment
+
+(defprotocol tt6 basic
+  (defrole init (vars (a name) (n text) (m mesg))
+    (trace
+	(send (enc n (pubk a)))
+      (recv (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+         (enc n (enc n (pubk a)) (pubk a)) ))
+    )
+    (uniq-orig n)
+    (non-orig (privk a))
+)
+  (defrole trans (vars (a name) (n text) (m mesg))
+    (trace
+     (recv (enc n (pubk a)))
+     (recv m)
+     (send (enc n m (pubk a)))
+    ))
+)
+
+(defskeleton tt6
+  (vars (a name) (n text))
+  (defstrand init 2 (a a) (n n))
+)
+
+(defskeleton tt6
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (2 1)) ((2 2) (0 1)))
+)
diff --git a/tst/targetterms6.tst b/tst/targetterms6.tst
new file mode 100644
--- /dev/null
+++ b/tst/targetterms6.tst
@@ -0,0 +1,206 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol tt6 basic
+  (defrole init
+    (vars (a name) (n text))
+    (trace (send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    (non-orig (privk a))
+    (uniq-orig n))
+  (defrole trans
+    (vars (a name) (n text) (m mesg))
+    (trace (recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a))))))
+
+(defskeleton tt6
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a))))))
+  (label 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt6
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt6
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((1 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (contracted (m (enc n (pubk a)))) n (0 1)
+    (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a)))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt6
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a))
+    (enc n (enc n (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt6
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test
+    (contracted (m (enc n (enc n (pubk a)) (pubk a)))) n (0 1)
+    (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a))
+    (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))
+  (label 4)
+  (parent 3)
+  (unrealized (2 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt6
+  (vars (m mesg) (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m m) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 2) (0 1))
+    ((2 2) (0 1)) ((3 2) (2 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (added-strand trans 3) n (2 1) (enc n (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))
+  (label 5)
+  (parent 4)
+  (unrealized (2 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton tt6
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (1 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (operation nonce-test (contracted (m (enc n (pubk a)))) n (2 1)
+    (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a)))))
+  (label 6)
+  (parent 5)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
+
+(defprotocol tt6 basic
+  (defrole init
+    (vars (a name) (n text))
+    (trace (send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    (non-orig (privk a))
+    (uniq-orig n))
+  (defrole trans
+    (vars (a name) (n text) (m mesg))
+    (trace (recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a))))))
+
+(defskeleton tt6
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))
+  (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (2 1)) ((2 2) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (traces
+    ((send (enc n (pubk a)))
+      (recv
+        (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))
+          (enc n (enc n (pubk a)) (pubk a)))))
+    ((recv (enc n (pubk a))) (recv (enc n (pubk a)))
+      (send (enc n (enc n (pubk a)) (pubk a))))
+    ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))
+      (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))
+  (label 7)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/uncarried_keys.scm b/tst/uncarried_keys.scm
new file mode 100644
--- /dev/null
+++ b/tst/uncarried_keys.scm
@@ -0,0 +1,19 @@
+(defprotocol uncarried-keys basic
+  (defrole init
+    (vars (a text) (A B name) (K akey))
+    (trace
+      (send (enc "start" a A B (pubk B)))
+      (recv (enc a A B (pubk A))) (send (enc a K (pubk B)))
+      (recv (enc a A B K)))
+    (non-orig (privk B) (invk K))
+    (uniq-orig a K))
+  (defrole resp
+    (vars (a text) (A B name) (K akey))
+    (trace
+      (recv (enc "start" a A B (pubk B)))
+      (send (enc a A B (pubk A))) (recv (enc a K (pubk B)))
+      (send (enc a A B K)))))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name) (K akey))
+  (defstrand init 4 (a a) (A A) (B B) (K K)))
diff --git a/tst/uncarried_keys.tst b/tst/uncarried_keys.tst
new file mode 100644
--- /dev/null
+++ b/tst/uncarried_keys.tst
@@ -0,0 +1,125 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol uncarried-keys basic
+  (defrole init
+    (vars (a text) (A B name) (K akey))
+    (trace (send (enc "start" a A B (pubk B)))
+      (recv (enc a A B (pubk A))) (send (enc a K (pubk B)))
+      (recv (enc a A B K)))
+    (non-orig (invk K) (privk B))
+    (uniq-orig a K))
+  (defrole resp
+    (vars (a text) (A B name) (K akey))
+    (trace (recv (enc "start" a A B (pubk B)))
+      (send (enc a A B (pubk A))) (recv (enc a K (pubk B)))
+      (send (enc a A B K)))))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name) (K akey))
+  (defstrand init 4 (a a) (A A) (B B) (K K))
+  (non-orig (invk K) (privk B))
+  (uniq-orig a K)
+  (traces
+    ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))
+      (send (enc a K (pubk B))) (recv (enc a A B K))))
+  (label 0)
+  (unrealized (0 1) (0 3))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name) (K akey))
+  (defstrand init 4 (a a) (A A) (B B) (K K))
+  (defstrand resp 2 (a a) (A A) (B B))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (invk K) (privk B))
+  (uniq-orig a K)
+  (operation nonce-test (added-strand resp 2) a (0 1)
+    (enc "start" a A B (pubk B)))
+  (traces
+    ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))
+      (send (enc a K (pubk B))) (recv (enc a A B K)))
+    ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 3))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name) (K akey))
+  (defstrand init 4 (a a) (A A) (B B) (K K))
+  (defstrand resp 2 (a a) (A A) (B B))
+  (defstrand resp 4 (a a) (A A) (B B) (K K))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 2) (2 2)) ((1 1) (0 1))
+    ((2 3) (0 3)))
+  (non-orig (invk K) (privk B))
+  (uniq-orig a K)
+  (operation encryption-test (added-strand resp 4) (enc a A B K) (0 3))
+  (traces
+    ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))
+      (send (enc a K (pubk B))) (recv (enc a A B K)))
+    ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))))
+    ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))
+      (recv (enc a K (pubk B))) (send (enc a A B K))))
+  (label 2)
+  (parent 1)
+  (unrealized)
+  (shape)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name))
+  (defstrand init 4 (a a) (A A) (B B) (K (pubk A)))
+  (defstrand resp 2 (a a) (A A) (B B))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk A) (privk B))
+  (uniq-orig a (pubk A))
+  (operation encryption-test (added-strand resp 2) (enc a A B (pubk A))
+    (0 3))
+  (traces
+    ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))
+      (send (enc a (pubk A) (pubk B))) (recv (enc a A B (pubk A))))
+    ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))))
+  (label 3)
+  (parent 1)
+  (unrealized)
+  (shape))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name) (K akey))
+  (defstrand init 4 (a a) (A A) (B B) (K K))
+  (defstrand resp 2 (a a) (A A) (B B))
+  (deflistener K)
+  (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
+  (non-orig (invk K) (privk B))
+  (uniq-orig a K)
+  (operation encryption-test (added-listener K) (enc a A B K) (0 3))
+  (traces
+    ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))
+      (send (enc a K (pubk B))) (recv (enc a A B K)))
+    ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))))
+    ((recv K) (send K)))
+  (label 4)
+  (parent 1)
+  (unrealized (2 0))
+  (comment "empty cohort"))
+
+(defskeleton uncarried-keys
+  (vars (a text) (A B name) (K akey))
+  (defstrand init 4 (a a) (A A) (B B) (K K))
+  (defstrand resp 4 (a a) (A A) (B B) (K K))
+  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))
+  (non-orig (invk K) (privk B))
+  (uniq-orig a K)
+  (operation collapsed 1 2)
+  (traces
+    ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))
+      (send (enc a K (pubk B))) (recv (enc a A B K)))
+    ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))
+      (recv (enc a K (pubk B))) (send (enc a A B K))))
+  (label 5)
+  (parent 2)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
diff --git a/tst/uo.scm b/tst/uo.scm
new file mode 100644
--- /dev/null
+++ b/tst/uo.scm
@@ -0,0 +1,15 @@
+(defprotocol uniq-orig basic
+  (defrole init
+    (vars (n text))
+    (trace (send n))
+    (uniq-orig n))
+  (defrole resp
+    (vars (m n text))
+    (trace
+     (send (enc m n))
+     (recv n))))
+
+(defskeleton uniq-orig
+  (vars (n text))
+  (defstrand init 1 (n n))
+  (defstrand resp 2 (n n)))
diff --git a/tst/uo.tst b/tst/uo.tst
new file mode 100644
--- /dev/null
+++ b/tst/uo.tst
@@ -0,0 +1,29 @@
+(comment "CPSA 2.1.0")
+(comment "All input read")
+
+(defprotocol uniq-orig basic
+  (defrole init (vars (n text)) (trace (send n)) (uniq-orig n))
+  (defrole resp (vars (m n text)) (trace (send (enc m n)) (recv n))))
+
+(defskeleton uniq-orig
+  (vars (n m text))
+  (defstrand init 1 (n n))
+  (defstrand resp 2 (m m) (n n))
+  (uniq-orig n)
+  (traces ((send n)) ((send (enc m n)) (recv n)))
+  (label 0)
+  (unrealized (1 1)))
+
+(defskeleton uniq-orig
+  (vars (n m text))
+  (defstrand init 1 (n n))
+  (defstrand resp 2 (m m) (n n))
+  (precedes ((0 0) (1 1)))
+  (uniq-orig n)
+  (traces ((send n)) ((send (enc m n)) (recv n)))
+  (label 1)
+  (parent 0)
+  (unrealized)
+  (shape))
+
+(comment "Nothing left to do")
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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (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.5")
+(comment "CPSA 2.1.0")
 (comment "All input read")
 
 (defprotocol yahalom basic
