packages feed

cpsa 2.0.5 → 2.1.0

raw patch · 76 files changed

+6327/−5108 lines, 76 filesbinary-added

Files

ChangeLog view
@@ -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.
NEWS view
@@ -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
README view
@@ -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:
cpsa.cabal view
@@ -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
doc/Makefile view
@@ -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) 
doc/cpsa.bib view
@@ -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 = 	 {}+}
+ doc/cpsadesign.pdf view

binary file changed (absent → 198971 bytes)

doc/cpsadesign.tex view
@@ -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} 
doc/cpsaoverview.pdf view

binary file changed (130463 → 78160 bytes)

doc/cpsaprimer.pdf view

binary file changed (277510 → 190605 bytes)

+ doc/cpsaspec.pdf view

binary file changed (absent → 349753 bytes)

doc/cpsaspec.tex view
@@ -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
+ doc/cpsatheory.pdf view

binary file changed (absent → 248116 bytes)

doc/cpsatheory.tex view
@@ -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}
doc/cpsauser.html view
@@ -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
doc/macros.tex view
@@ -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}}
src/CPSA/Annotations/Annotations.hs view
@@ -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
src/CPSA/Basic/Algebra.hs view
@@ -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
src/CPSA/DiffieHellman/Algebra.hs view
@@ -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
src/CPSA/Graph/ExpandedView.hs view
@@ -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 =
src/CPSA/Graph/LaTeXView.hs view
@@ -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
src/CPSA/Graph/Loader.hs view
@@ -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)
src/CPSA/Graph/Main.hs view
@@ -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" 
src/CPSA/Lib/Algebra.hs view
@@ -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
src/CPSA/Lib/Cohort.hs view
@@ -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 =
src/CPSA/Lib/Displayer.hs view
@@ -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])
src/CPSA/Lib/Loader.hs view
@@ -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") 
src/CPSA/Lib/Main.hs view
@@ -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'
src/CPSA/Lib/Strand.hs view
@@ -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]
tst/Make.hs view
@@ -186,7 +186,7 @@        make cpsaparametersRule root  cpsaparametersRule :: Rule-cpsaparametersRule = +cpsaparametersRule =     Rule { prog = "cpsaparameters",     	   inputExt = sourceBasicExt, 	   outputExt = paramsExt }
tst/blanchet.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol blanchet basic
tst/completeness-test.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol completeness-test basic
tst/dass_simple.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol dass basic
tst/denning-sacco.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol denning-sacco basic
tst/dh.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol dhke diffie-hellman
+ tst/dh_unifywithconst.sch view
@@ -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")+)
+ tst/dh_unifywithconst.tst view
@@ -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")
tst/dy.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol dy basic
tst/encsig.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol mult-keys-enc-sig basic
tst/epmo.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol epmo basic
tst/epmo_acctnum.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol epmo_acctnum basic
tst/ffgg.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol ffgg basic
tst/isoreject.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol isoreject basic
tst/kelly1.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol kelly1 basic
tst/kerberos.tst view
@@ -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)) 
tst/missing_contraction.scm view
@@ -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)))
tst/missing_contraction.tst view
@@ -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")
tst/neuman-stubblebine-reauth.tst view
@@ -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"))
tst/neuman-stubblebine.tst view
@@ -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)) 
tst/no_contraction.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol no-contraction basic
+ tst/non_transforming.scm view
@@ -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)+)
+ tst/non_transforming.tst view
@@ -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")
tst/ns.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol ns basic
tst/nsl3.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol nsl3 basic
tst/nsl4cm1.lsp view
tst/nsl4cm1.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol nsl4cm basic
tst/nslsk.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol nslsk basic
tst/or.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol or basic
tst/pca.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol aic basic
+ tst/pruning1.scm view
@@ -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)))
+)
+
+ tst/pruning1.tst view
@@ -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")
tst/sigenc.scm view
tst/sigenc.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol mult-keys-sig-enc basic
tst/sorted_epmo_acctnum.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol epmo_acctnum basic
+ tst/targetterms2.scm view
@@ -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))+)
+ tst/targetterms2.tst view
@@ -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")
+ tst/targetterms6.scm view
@@ -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)))+)
+ tst/targetterms6.tst view
@@ -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")
+ tst/uncarried_keys.scm view
@@ -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)))
+ tst/uncarried_keys.tst view
@@ -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")
+ tst/uo.scm view
@@ -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)))
+ tst/uo.tst view
@@ -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")
tst/weird.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol wierd basic
tst/wmf.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol wide-mouth-frog basic
tst/woolam.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol woolam basic
tst/yahalom.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read")  (defprotocol yahalom basic