diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2025-09-24  Joshua D. Guttman  <guttman@mitre.org>
+
+	* Tagged as real4.4.7.  Small updates including improved error
+	messages for users with complicated Diffie-Hellman protocols,
+	subtle corrections to determining when homomorphism exists, and
+	clean ups for the early stages of an analysis.  See NEWS.  
+
+2025-05-05  Joshua D. Guttman  <guttman@mitre.org>
+
+	* cpsa.cabal (Version): Tagged as version 4.4.6. Removed an
+	obscure bug in which the generators were used wrong, causing a
+	unification failure.  We improved the generalization code to avoid
+	redundancies.  We improved the overall functionality by allowing
+	state operations in which stores are not preceded by a load on
+	that location.
+
 2025-05-02  John D. Ramsdell  <ramsdell@mitre.org>
 
 	* src/cpsa/RoleCoq/Main.hs (emit): Updated Roletran to use rocq
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,34 @@
 CPSA NEWS -- history of user-visible changes.
 
+* Changes in version 4.4.7
+
+** Improved error messages for users specifying
+   protocols using DH random values in more complicated ways.
+
+** Corrected subtle aspects of the code to determine
+   whether a strand map induces a homomorphism between
+   skeletons.
+
+** Cleaned up the early phases of a protocol analysis query.
+   Now each skeleton in an analysis (other than the initial
+   (pre)skeleton) has that initial skeleton as its point of
+   view pov.  The strand map from that point of view is
+   available in the prob field.
+
+   This was false previously if the user's query was a
+   preskeleton but not a skeleton, in which case the pov was
+   the resulting skeleton.  If skeletonization could succeed
+   in different ways, then the parts of the tree that
+   descended from each had different povs.
+
+** Strand maps and environments are now printed for all skeletons,
+   not just those at the fringe.  This information is brief,
+   and helps ensure predictable results.
+
 * Changes in version 4.4.6
 
 ** Removed an obscure bug in which the generators
-   were used wrong, causing a unification failure.   
+   were used wrong, causing a unification failure.
 
 ** We improved the generalization code to avoid redundancies.
 
diff --git a/cpsa.cabal b/cpsa.cabal
--- a/cpsa.cabal
+++ b/cpsa.cabal
@@ -1,5 +1,5 @@
 Name:                   cpsa
-Version:                4.4.6
+Version:                4.4.7
 Maintainer:             guttman@mitre.org
 Cabal-Version:          >= 1.10
 License:                BSD3
@@ -153,103 +153,123 @@
   src/ocaml/main.mli src/ocaml/pp.ml src/ocaml/token.ml
   src/ocaml/token.mli src/ocaml/scanner.mll src/ocaml/sexpr.ml
   src/ocaml/sexpr.mli src/ocaml/sexpr_type.ml tst/README tst/Makefile
-  tst/DH_hack.scm tst/DH_hack.tst tst/Make4.hs tst/ab.scm tst/ab.tst
-  tst/abc.scm tst/abc.tst tst/aik.scm tst/aik.tst
-  tst/atomic-open-closed.scm tst/atomic-open-closed.tst tst/attest.scm
-  tst/attest.tst tst/auth-enc.scm tst/auth-enc.tst tst/auth-hash.scm
-  tst/auth-hash.tst tst/blanchet-strandmax.scm
-  tst/blanchet-strandmax.tst tst/blanchet.scm tst/blanchet.tst
-  tst/blanchet_doorsep.prot tst/blanchet_doorsep.tst
-  tst/bug_example.scm tst/bug_example.tst tst/cert_lang.scm
-  tst/cert_lang.tst tst/chan-envelope.scm tst/chan-envelope.tst
-  tst/chan-perrig-song.scm tst/chan-perrig-song.tst
-  tst/chan-unilateral.scm tst/chan-unilateral.tst
-  tst/chan-yahalom-role-decl.scm tst/chan-yahalom-role-decl.tst
-  tst/chan-yahalom.scm tst/chan-yahalom.tst tst/commitment.scm
-  tst/commitment.tst tst/comp_test.scm tst/comp_test.tst
-  tst/completeness-test.scm tst/completeness-test.tst tst/crushing.scm
-  tst/crushing.tst tst/dass-mod.lisp tst/dass.lisp tst/dass_simple.scm
-  tst/dass_simple.tst tst/denning-sacco.scm tst/denning-sacco.tst
-  tst/deorig_contract.scm tst/deorig_contract.tst tst/deorig_mesg.scm
-  tst/deorig_mesg.tst tst/deorig_simple.scm tst/deorig_simple.tst
-  tst/dh-ca_hack.scm tst/dh-ca_hack.tst tst/dh_encrypt_hack.scm
-  tst/dh_encrypt_hack.tst tst/dh_group_sig.scm tst/dh_group_sig.tst
-  tst/dh_group_sig_auth_failure.scm tst/dh_group_sig_auth_failure.tst
-  tst/dh_mim.lisp tst/dh_mim_hack.scm tst/dh_mim_hack.tst
-  tst/dhke2.lisp tst/dhnsl_hack.scm
-  tst/dhnsl_hack.tst tst/dhstatic-state.scm tst/dhstatic-state.tst
-  tst/disclosure.scm tst/disclosure.tst tst/doorsep.scm
-  tst/doorsep.tst tst/doorsep2invk.scm tst/doorsep2invk.tst
-  tst/ds-short.lisp tst/dy.lsp tst/dy.tst tst/encsig.scm
-  tst/encsig.tst tst/envelope.scm tst/envelope.tst tst/epmo-hash.scm
-  tst/epmo-hash.tst tst/epmo-key-hash.scm tst/epmo-key-hash.tst
-  tst/epmo.scm tst/epmo.tst tst/epmo_acctnum-key-hash.scm
-  tst/epmo_acctnum-key-hash.tst tst/epmo_acctnum.lsp
-  tst/epmo_acctnum.tst tst/example.tst tst/expand.scm tst/expand.tst
-  tst/facts.scm tst/facts.tst tst/factvar.scm tst/factvar.tst
-  tst/ffgg.scm tst/ffgg.tst tst/fluffy_draft03_gske.scm
-  tst/fluffy_draft03_gske.tst tst/fragile_pruning.scm
-  tst/fragile_pruning.tst tst/goals.scm tst/goals.tst
-  tst/hashtest-key-hash.scm tst/hashtest-key-hash.tst tst/hashtest.scm
-  tst/hashtest.tst tst/incompleteness_example.scm
-  tst/incompleteness_example.tst tst/isoreject-corrected.scm
-  tst/isoreject-corrected.tst tst/isoreject.scm tst/isoreject.tst
-  tst/jdg-wonthull.tst tst/kelly1.scm tst/kelly1.tst tst/kelly64.lisp
-  tst/kerb5.lisp tst/kerberos-variant-guar.tst tst/kerberos.scm
-  tst/kerberos.tst tst/locn_envelope.scm tst/locn_envelope.tst
-  tst/mass.lsp tst/mass.tst tst/mass2.lsp tst/mass2.tst
-  tst/missing_contraction.scm tst/missing_contraction.tst
-  tst/neq_test.scm tst/neq_test.tst tst/neuman-stubblebine-alt.lisp
-  tst/neuman-stubblebine-reauth-tagged.tst
-  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/nonaug-prune.scm tst/nonaug-prune.tst
-  tst/ns-l.scm tst/ns-l.tst tst/ns-rebinding.scm tst/ns-rebinding.tst
-  tst/ns.scm tst/ns.tst tst/nsl3.scm tst/nsl3.tst tst/nsl4.lisp
-  tst/nsl4cm1.lisp tst/nsl4init.lisp tst/nsl4resp1.lisp
-  tst/nsl4resp2.lisp tst/nsl4resp3.lisp tst/nsl5.lisp tst/nsl5i.lisp
-  tst/nsl5resp3.lisp tst/nslsk.scm tst/nslsk.tst
-  tst/open-closed-multiloc.scm tst/open-closed-multiloc.tst
-  tst/open-closed-tag.scm tst/open-closed-tag.tst tst/open-closed.scm
-  tst/open-closed.tst tst/or.scm tst/or.tst tst/ordered.scm
-  tst/ordered.tst tst/pca.scm tst/pca.tst tst/pen-non-orig-test.scm
-  tst/pen-non-orig-test.tst tst/pfs-via-pubkey.scm
-  tst/pfs-via-pubkey.tst tst/pkinit.scm tst/pkinit.tst
-  tst/preprocess.scm tst/preprocess.tst tst/print.scm tst/print.tst
-  tst/prottrans.scm tst/prottrans.tst tst/pruning1.scm
-  tst/pruning1.tst tst/puzzle_example.scm tst/puzzle_example.tst
-  tst/reflect.scm tst/reflect.tst tst/renamings.scm tst/renamings.tst
-  tst/role_uniq.scm tst/role_uniq.tst tst/rule-node.scm
-  tst/rule-node.tst tst/rule-order.scm tst/rule-order.tst tst/sa.tst
-  tst/sigenc.scm tst/sigenc.tst tst/sorted_epmo_acctnum.scm
-  tst/sorted_epmo_acctnum.tst tst/sts.scm tst/sts.tst
-  tst/sts_non_role.scm tst/sts_weakened_reflect.scm
-  tst/sts_weakened_reflect.tst tst/subatomic-open-closed-dist.tst
+  tst/ab.scm tst/abc.scm tst/aik.scm tst/atomic-open-closed.scm
+  tst/attest.scm tst/auth-enc.scm tst/auth-hash.scm
+  tst/blanchet-strandmax.scm tst/blanchet.scm tst/bug_example.scm
+  tst/cert_lang.scm tst/chan-envelope.scm tst/chan-perrig-song.scm
+  tst/chan-unilateral.scm tst/chan-yahalom-role-decl.scm
+  tst/chan-yahalom.scm tst/commitment.scm tst/comp_test.scm
+  tst/completeness-test.scm tst/crushing.scm tst/dass_simple.scm
+  tst/denning-sacco.scm tst/deorig_contract.scm tst/deorig_mesg.scm
+  tst/deorig_simple.scm tst/dh_encrypt_hack.scm
+  tst/dh_group_sig_auth_failure.scm tst/dh_group_sig.scm
+  tst/DH_hack.scm tst/dh_mim_hack.scm tst/dh-ca_hack.scm
+  tst/dhnsl_hack.scm tst/dhstatic-state.scm tst/disclosure.scm
+  tst/doorsep.scm tst/doorsep2invk.scm tst/encsig.scm tst/envelope.scm
+  tst/epmo_acctnum-key-hash.scm tst/epmo-hash.scm
+  tst/epmo-key-hash.scm tst/epmo.scm tst/expand.scm tst/facts.scm
+  tst/factvar.scm tst/ffgg.scm tst/fluffy_draft03_gske.scm
+  tst/fragile_pruning.scm tst/goals.scm tst/goalsvar.scm
+  tst/hashtest-key-hash.scm tst/hashtest.scm
+  tst/incompleteness_example.scm tst/isoreject-corrected.scm
+  tst/isoreject.scm tst/kelly1.scm tst/kerberos.scm
+  tst/locn_envelope.scm tst/missing_contraction.scm tst/neq_test.scm
+  tst/neuman-stubblebine.scm tst/no_contraction.scm
+  tst/non_transforming.scm tst/nonaug-prune.scm tst/ns-l.scm
+  tst/ns-rebinding.scm tst/ns-unrebinding.scm tst/ns.scm tst/nsl3.scm tst/nslsk.scm
+  tst/open-closed-multiloc.scm tst/open-closed-tag.scm
+  tst/open-closed.scm tst/or.scm tst/ordered.scm tst/orderedvar.scm
+  tst/pca.scm tst/pen-non-orig-test.scm tst/pfs-via-pubkey.scm
+  tst/pkinit.scm tst/preprocess.scm tst/print.scm tst/prottrans.scm
+  tst/pruning1.scm tst/puzzle_example.scm tst/reflect.scm
+  tst/renamings.scm tst/role_uniq.scm tst/rule-node.scm
+  tst/rule-order.scm tst/sigenc.scm tst/sorted_epmo_acctnum.scm
+  tst/sts_non_role.scm tst/sts_weakened_reflect.scm tst/sts.scm
   tst/subatomic-open-closed-test-genrule.scm
+  tst/subatomic-open-closed.scm tst/sync_locn_envelope.scm
+  tst/targetterms1.scm tst/targetterms2.scm tst/targetterms6.scm
+  tst/targetterms8.scm tst/thisthat.scm tst/tickle-unique.scm
+  tst/timestamping.scm tst/trust-anchor.scm tst/ugen-at.scm
+  tst/ugo.scm tst/uncarried_keys.scm tst/unilateral.scm
+  tst/uniq-at.scm tst/uniq-gen-test.scm tst/uo.scm tst/wang-hash.scm
+  tst/wang-key-hash.scm tst/weird.scm tst/wonthull.scm
+  tst/wonthull2.scm tst/wonthull3.scm tst/woolam.scm
+  tst/yahalom-6.3.6.scm tst/yahalom-forward.scm tst/yahalom.scm
+  tst/yes-or-no.scm
+  tst/dass-mod.lisp tst/dass.lisp tst/dh_mim.lisp tst/dhke2.lisp
+  tst/ds-short.lisp tst/kelly64.lisp tst/kerb5.lisp
+  tst/neuman-stubblebine-alt.lisp tst/neuman-stubblebine-reauth.lisp
+  tst/nsl4.lisp tst/nsl4cm1.lisp tst/nsl4init.lisp tst/nsl4resp1.lisp
+  tst/nsl4resp2.lisp tst/nsl4resp3.lisp tst/nsl5.lisp tst/nsl5i.lisp
+  tst/nsl5resp3.lisp tst/tnsl5.lisp tst/wang.lisp  
+  tst/dy.lsp tst/epmo_acctnum.lsp tst/mass.lsp tst/mass2.lsp
+  tst/neuman-stubblebine-reauth.lsp tst/wide-mouth-frog-scyther.lsp
+  tst/wide-mouth-frog.lsp  
+  tst/blanchet_doorsep.prot
+  tst/ab.tst tst/abc.tst tst/aik.tst tst/atomic-open-closed.tst
+  tst/attest.tst tst/auth-enc.tst tst/auth-hash.tst
+  tst/blanchet_doorsep.tst tst/blanchet-strandmax.tst tst/blanchet.tst
+  tst/bug_example.tst tst/cert_lang.tst tst/chan-envelope.tst
+  tst/chan-perrig-song.tst tst/chan-unilateral.tst
+  tst/chan-yahalom-role-decl.tst tst/chan-yahalom.tst
+  tst/commitment.tst tst/comp_test.tst tst/completeness-test.tst
+  tst/crushing.tst tst/dass_simple.tst
+  tst/defact-atomic-open-closed_shapes.tst
+  tst/defact-atomic-open-closed.tst
+  tst/defact-dhstatic-state_shapes.tst tst/defact-dhstatic-state.tst
+  tst/defact-locn_envelope_shapes.tst tst/defact-locn_envelope.tst
+  tst/defact-open-closed_shapes.tst
+  tst/defact-open-closed-multiloc_shapes.tst
+  tst/defact-open-closed-multiloc.tst
+  tst/defact-open-closed-tag_shapes.tst tst/defact-open-closed-tag.tst
+  tst/defact-open-closed.tst
+  tst/defact-subatomic-open-closed_shapes.tst
+  tst/defact-subatomic-open-closed-test-genrule_shapes.tst
+  tst/defact-subatomic-open-closed-test-genrule.tst
+  tst/defact-subatomic-open-closed.tst
+  tst/defact-sync_locn_envelope_shapes.tst
+  tst/defact-sync_locn_envelope.tst tst/denning-sacco.tst
+  tst/deorig_contract.tst tst/deorig_mesg.tst tst/deorig_simple.tst
+  tst/dh_encrypt_hack.tst tst/dh_group_sig_auth_failure.tst
+  tst/dh_group_sig.tst tst/DH_hack.tst tst/dh_mim_hack.tst
+  tst/dh-ca_hack.tst tst/dhnsl_hack.tst tst/dhstatic-state.tst
+  tst/disclosure.tst tst/doorsep.tst tst/doorsep2invk.tst tst/dy.tst
+  tst/encsig.tst tst/envelope.tst tst/epmo_acctnum-key-hash.tst
+  tst/epmo_acctnum.tst tst/epmo-hash.tst tst/epmo-key-hash.tst
+  tst/epmo.tst tst/example.tst tst/expand.tst tst/facts.tst
+  tst/factvar.tst tst/ffgg.tst tst/fluffy_draft03_gske.tst
+  tst/fragile_pruning.tst tst/goals.tst tst/goalsvar.tst
+  tst/hashtest-key-hash.tst tst/hashtest.tst
+  tst/incompleteness_example.tst tst/isoreject-corrected.tst
+  tst/isoreject.tst tst/jdg-wonthull.tst tst/kelly1.tst
+  tst/kerberos-variant-guar.tst tst/kerberos.tst tst/locn_envelope.tst
+  tst/mass.tst tst/mass2.tst tst/missing_contraction.tst
+  tst/neq_test.tst tst/neuman-stubblebine-reauth-tagged.tst
+  tst/neuman-stubblebine-reauth.tst tst/neuman-stubblebine.tst
+  tst/no_contraction.tst tst/non_transforming.tst tst/nonaug-prune.tst
+  tst/ns-l.tst tst/ns-rebinding.tst tst/ns-unrebinding.tst tst/ns.tst tst/nsl3.tst
+  tst/nslsk.tst tst/open-closed-multiloc.tst tst/open-closed-tag.tst
+  tst/open-closed.tst tst/or.tst tst/ordered.tst tst/orderedvar.tst
+  tst/pca.tst tst/pen-non-orig-test.tst tst/pfs-via-pubkey.tst
+  tst/pkinit.tst tst/preprocess.tst tst/print.tst tst/prottrans.tst
+  tst/pruning1.tst tst/puzzle_example.tst tst/reflect.tst
+  tst/renamings.tst tst/role_uniq.tst tst/rule-node.tst
+  tst/rule-order.tst tst/sa.tst tst/sigenc.tst
+  tst/sorted_epmo_acctnum.tst tst/sts_non_role.tst
+  tst/sts_weakened_reflect.tst tst/sts.tst
+  tst/subatomic-open-closed-dist.tst
   tst/subatomic-open-closed-test-genrule.tst
-  tst/subatomic-open-closed.scm tst/subatomic-open-closed.tst
-  tst/sync_locn_envelope.scm tst/sync_locn_envelope.tst
-  tst/targetterms1.scm tst/targetterms1.tst tst/targetterms2.scm
-  tst/targetterms2.tst tst/targetterms6.scm tst/targetterms6.tst
-  tst/targetterms8.scm tst/targetterms8.tst tst/thisthat.scm
-  tst/thisthat.tst tst/tickle-unique.scm tst/tickle-unique.tst
-  tst/timestamping.scm tst/timestamping.tst tst/tnsl5.lisp
-  tst/trust-anchor.scm tst/trust-anchor.tst tst/ugen-at.scm
-  tst/ugen-at.tst tst/ugo.scm tst/ugo.tst tst/uncarried_keys.scm
-  tst/uncarried_keys.tst tst/unilateral.scm tst/unilateral.tst
-  tst/uniq-at.scm tst/uniq-at.tst tst/uniq-gen-test.scm
-  tst/uniq-gen-test.tst tst/uo.scm tst/uo.tst tst/wang-hash.scm
-  tst/wang-hash.tst tst/wang-key-hash.scm tst/wang-key-hash.tst
-  tst/wang.lisp tst/weird.scm tst/weird.tst
-  tst/wide-mouth-frog-scyther.lsp tst/wide-mouth-frog-scyther.tst
-  tst/wide-mouth-frog.lsp tst/wide-mouth-frog.tst tst/wonthull.scm
-  tst/wonthull.tst tst/wonthull2.scm tst/wonthull2.tst
-  tst/wonthull3.scm tst/wonthull3.tst tst/woolam.scm tst/woolam.tst
-  tst/yahalom-6.3.6.scm tst/yahalom-6.3.6.tst tst/yahalom-forward.scm
-  tst/yahalom-forward.tst tst/yahalom.scm tst/yahalom.tst
-  tst/yes-or-no.scm tst/yes-or-no.tst
+  tst/subatomic-open-closed.tst tst/sync_locn_envelope.tst
+  tst/targetterms1.tst tst/targetterms2.tst tst/targetterms6.tst
+  tst/targetterms8.tst tst/thisthat.tst tst/tickle-unique.tst
+  tst/timestamping.tst tst/tmp-yahalom.tst tst/trust-anchor.tst
+  tst/ugen-at.tst tst/ugo.tst tst/uncarried_keys.tst
+  tst/unilateral.tst tst/uniq-at.tst tst/uniq-gen-test.tst tst/uo.tst
+  tst/wang-hash.tst tst/wang-key-hash.tst tst/weird.tst
+  tst/wide-mouth-frog-scyther.tst tst/wide-mouth-frog.tst
+  tst/wonthull.tst tst/wonthull2.tst tst/wonthull3.tst tst/woolam.tst
+  tst/yahalom-6.3.6.tst tst/yahalom-forward.tst tst/yahalom.tst
+  tst/yes-or-no.tst
   coq/Sem_tactics.v coq/Comp.v coq/Alt_sem.v coq/Match.v coq/Alg.v
   coq/Exec.v coq/Intro.v coq/Nonce.v coq/Preamble.v
   coq/Unilateral_proof.v coq/Makefile coq/Run.v coq/procdoc.tex
@@ -281,7 +301,7 @@
 Executable cpsa4
   Main-Is:              CPSA/Main.hs
   Default-Language:     Haskell2010
-  Build-Depends:        base >= 4.13 && < 5, containers, parallel
+  Build-Depends:        base >= 4.13 && < 5, containers, parallel, deepseq
   GHC-Options:
     -Wall -fno-warn-name-shadowing -fwarn-unused-imports -threaded -rtsopts
   Hs-Source-Dirs:       src
diff --git a/cpsatst b/cpsatst
--- a/cpsatst
+++ b/cpsatst
@@ -12,12 +12,13 @@
 # ./cpsagraphall
 
 CPSAFLAGS="+RTS -M512m -N -RTS"
+CPSADIFF=
 TST=${1:-tst}
 
 # Analyze the results of a CPSA run.
 analyze () {
     echo cpsa4diff "$1.tst" "$1.txt"
-    cabal run cpsa4diff -v0 -- "$1.tst" "$1.txt"
+    cabal run cpsa4diff -v0 -- ${CPSADIFF} "$1.tst" "$1.txt"
     echo cpsa4graph -o "$1.xhtml" "$1.txt"
     cabal run cpsa4graph -v0 -- -o "$1.xhtml" "$1.txt"
     echo cpsa4shapes -o "${1}_shapes.txt" "$1.txt"
diff --git a/doc/cpsa4manual.pdf b/doc/cpsa4manual.pdf
Binary files a/doc/cpsa4manual.pdf and b/doc/cpsa4manual.pdf differ
diff --git a/doc/init/Makefile b/doc/init/Makefile
--- a/doc/init/Makefile
+++ b/doc/init/Makefile
@@ -1,4 +1,5 @@
 CPSAFLAGS = +RTS -M512m -N -RTS
+GRAPHFLAGS = -p
 
 SRCS := $(wildcard *.scm) $(wildcard *.prot) $(wildcard *.lsp)
 
diff --git a/doc/src/cpsa4manual/declarations.tex b/doc/src/cpsa4manual/declarations.tex
--- a/doc/src/cpsa4manual/declarations.tex
+++ b/doc/src/cpsa4manual/declarations.tex
@@ -174,6 +174,87 @@
 %z
 \end{itemize}
 
+\section{Declaring skeletons}
+\label{sec:defskeleton}
+
+\ttindex{defskeleton} To ask {\cpsa} a query, one uses a
+\texttt{defskeleton} form.  The detailed syntax definition is in
+Table~\ref{tab:syntax}.  We give here a summary of the core elements
+and how to use them.  A \texttt{defskeleton} form such as those in
+Figs.~\ref{fig:ns init pov}--\ref{fig:ns resp pov} has the form
+%
+\begin{center}
+  \tt
+  \begin{tabular}{l}
+    (defskeleton prot-name \\
+    \quad (vars ...) \\
+    \quad strand-decls ... \\
+    \quad assumptions ... \\
+    \quad comments)
+  \end{tabular}
+\end{center}
+%
+\texttt{prot-name} is the name of the protocol.  The \texttt{(vars
+  ...)} give the names and sorts of the values appearing in the
+resulting skeleton, for instance values that may be parameters of one
+or more role instances in the skeleton, and may appear in the
+assumptions.  The assumptions include unique origination and
+non-origination claims, as well as channel properties and state
+annotations (Chapter~\ref{chap:channels:state}) and facts
+(Section~\ref{sec:facts}).  Comments are for the convenience of the
+specifier.  The \texttt{strand-decls} consist of one or more forms
+%
+\begin{itemize}
+  \item \texttt{(defstrand role height bindings)} for an instance of
+  \texttt{role} of the given height,\ttindex{defstrand}
+  \item \texttt{(defstrandmax role bindings)} to indicate an instance of
+  \texttt{role} of its full maximum height, or\ttindex{defstrandmax}
+  \item \texttt{(deflistener t)} to indicate that the term \texttt{t}
+  is heard transmitted publicly.\ttindex{deflistener} 
+\end{itemize}
+%
+Generally, a \texttt{defskeleton} $q$ containing a
+\texttt{(deflistener t)} declaration is used to see whether the term
+\texttt{t} remains confidential in the situation described by the
+remainder $q'$ of the \texttt{defskeleton}.  If {\cpsa} determines that
+there are no shapes for this query, then there is no extension of $q'$
+in which the participants emit messages allowing the adversary to
+extract \texttt{t}.  Typically, this is what the specifier intends to
+find:  These are non-disclosure queries.  
+
+A \texttt{defskeleton} form most frequently contains a single
+\texttt{defstrand} or \texttt{defstrandmax}, in which case {\cpsa}
+will determine what other behaviors this participant can rely on
+having occurred when a run of this role takes this number of steps.
+Thus, it determines what is learnt \emph{from the point of view} of
+this participant.  These are authentication queries from that
+participant's point of view.
+
+When a single-strand authentication query gives some information about
+other local sessions, but we would like also to know whether
+additional conclusions follow if we assume unique origination or
+non-origination for values in those local sessions, then we can would
+use multiple \texttt{defstrand}s.
+
+The bindings (aka ``maplets'') in a strand declaration are pairs
+\texttt{(p v)} where \texttt{p} is a parameter of the role being
+declared and \texttt{v} is a value defined from the variables declared
+for this skeleton.  Most often \texttt{v} just is one of these
+variables.  These bindings can be confusing, since the role parameter
+and the variable in the skeleton may have the same name, so we have a
+binding \texttt{(b b)} or \texttt{(n1 n1)}, as in Fig.~\ref{fig:ns
+  init pov}.  However, the two \texttt{b}s are different:  The first
+is the parameter declared in the \texttt{init} role in
+Fig.~\ref{fig:ns defprotocol}, while the second is the skeleton
+variable declared in the variable form \texttt{(vars (b name) (n1
+  text))}.  A binding must appear in the strand declaration only if we
+need to assert something about it.  In Fig.~\ref{fig:ns init pov},
+those two bindings appear because the skeleton variable \texttt{n1} is
+assumed uniquely originating, and \texttt{b} appears because
+\texttt{(privk b)} is assumed non-originating.  Any other parameters
+may be omitted, in which case {\cpsa} supplies an unconstrained value
+for it.    
+
 \iffalse
 
 \section{Distinctness assumptions}
diff --git a/doc/src/cpsa4manual/macros.tex b/doc/src/cpsa4manual/macros.tex
--- a/doc/src/cpsa4manual/macros.tex
+++ b/doc/src/cpsa4manual/macros.tex
@@ -3,7 +3,7 @@
 {\setcounter{running}{\value{enumi}}\end{enumerate}}
 
 \newcommand{\cpsa}{\textsc{cpsa}}
-\newcommand{\version}{4.4.6}
+\newcommand{\version}{4.4.7}
 \newcommand{\cpsacopying}{\begingroup
   \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2016--2022 The
     MITRE Corporation.  Permission to copy without fee all or part of
diff --git a/doc/src/macros.tex b/doc/src/macros.tex
--- a/doc/src/macros.tex
+++ b/doc/src/macros.tex
@@ -1,5 +1,5 @@
 \newcommand{\cpsa}{\textsc{cpsa}}
-\newcommand{\version}{4.4.6}
+\newcommand{\version}{4.4.7}
 \newcommand{\cpsacopying}{\begingroup
   \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2010 The
     MITRE Corporation.  Permission to copy without fee all or part of
diff --git a/src/CPSA/Algebra.hs b/src/CPSA/Algebra.hs
--- a/src/CPSA/Algebra.hs
+++ b/src/CPSA/Algebra.hs
@@ -144,11 +144,14 @@
     match,
     unmatchedVarsWithin,
     envsAgreeOutside,
+    varsMinusEnvDomain,
+    envDisjointExtension,
     envOfParamVarPairs,
     substitution,
     strandBoundEnv,
     renamerAndNewVars,
     envIdentityOnVars,
+    envStrandsWithin, 
     reify,
     matchRename,
     substUpdate,
@@ -718,7 +721,7 @@
   any (subterm t) u
 subterm (I x) (G t') =
   M.member x t'
-subterm (G t) (G t') | isBasisVar t = -- For constituent.  COULD ALSO BE :  isGroupVar
+subterm (G t) (G t') | isGroupVar t = -- For constituent.  COULD ALSO BE :  isBasisVar
   M.member (getGroupVar t) t'
 subterm _ _ = False
 
@@ -1728,6 +1731,11 @@
       -- problems = filter (not . (flip elem vars)) unmatchedIds
       unmatchedIds = idUnmapped r t
 
+varsMinusEnvDomain :: Env -> [Term] -> [Term]
+varsMinusEnvDomain (Env (_, r)) =
+    filter (\v -> isVar v &&
+                  not(idMapped r v))
+
 envsAgreeOutside :: Env -> Env -> [Term] -> Bool
 envsAgreeOutside (Env (_, r1)) (Env (_, r2)) vars =
     idMapsAgreeOutside r1 r2 ids
@@ -1745,6 +1753,25 @@
 envIdentityOnVars :: [Term] -> Env
 envIdentityOnVars vars =
     envOfParamVarPairs $ L.zip vars vars
+
+envStrandsWithin :: Env -> [Int] -> Bool
+envStrandsWithin (Env (_, r)) strands =
+    M.foldr f True r
+    where
+      f (Z i) soFar = soFar && elem i strands
+      f _ soFar = soFar
+
+-- Is e2 the disjoint union of e1 with an environment with disjoint
+-- domain?  I.e., is the domain of e1 a subset of the domain of e2,
+-- and e2 agrees with e1 on the domain of e1?  
+
+envDisjointExtension :: Env -> Env -> Bool
+envDisjointExtension (Env (_, r1)) (Env (_, r2)) =
+    subset d1 d2 && 
+           idMapsAgreeOutside r1 r2 d1
+    where
+      d1 = idMapDomain r1
+      d2 = idMapDomain r2 
 
 -- Apply a substitution to the range of an environment
 substUpdate :: Env -> Subst -> Env
diff --git a/src/CPSA/Cohort.hs b/src/CPSA/Cohort.hs
--- a/src/CPSA/Cohort.hs
+++ b/src/CPSA/Cohort.hs
@@ -5,13 +5,6 @@
 -- This program is free software: you can redistribute it and/or
 -- modify it under the terms of the BSD License as published by the
 -- University of California.
-{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
-{-# HLINT ignore "Use if" #-}
-{-# HLINT ignore "Redundant bracket" #-}
-{-# HLINT ignore "Fuse concatMap/map" #-}
-{-# HLINT ignore "Move brackets to avoid $" #-}
-{-# HLINT ignore "Use uncurry" #-}
-{-# HLINT ignore "Use map once" #-}
 
 module CPSA.Cohort (Mode(..), ReduceRes(..), reduce, unrealized) where
 
@@ -63,13 +56,13 @@
   else 
     k
 
-tShow2 :: Show a => Preskel -> Preskel -> a -> Preskel 
-tShow2 k k' _ = 
-  if goodParent k && goodChild k' then
-    --z (show ("child", k')) k'
-    z (show "perm: " ++ show (compressUpdate 4 2 [0,1,3,4])) k'
-  else 
-    k'
+--   tShow2 :: Show a => Preskel -> Preskel -> a -> Preskel 
+--   tShow2 k k' _ = 
+--     if goodParent k && goodChild k' then
+--       --z (show ("child", k')) k'
+--       z (show "perm: " ++ show (compressUpdate 4 2 [0,1,3,4])) k'
+--     else 
+--       k'
 
 tShow3 :: Show a => Preskel -> Preskel -> a -> a
 tShow3 k k' m = 
@@ -134,7 +127,7 @@
 
 -- This check is just a sanity check and is normally left off.
 usePovCheck :: Bool
-usePovCheck = False -- True
+usePovCheck = True -- False
 
 -- Minimum priority to solve
 minPriority :: Int
@@ -290,6 +283,12 @@
     not useSolvedFilter
             || solved ct pos eks escape k n subst absent
                && (not usePovCheck || povCheck k)
+                          -- ||
+                          --  (z ("povCheck failed " ++
+                          --      (show (case pov k of
+                          --               Nothing -> Nothing
+                          --               Just k0 -> Just (prob k0))))
+                          --   False))
 
 data Mode = Mode
     { noGeneralization :: Bool,
@@ -534,6 +533,7 @@
 
 mgs :: [(Preskel, [Sid])] -> [Preskel]
 mgs cohort =
+  --reverse $ map recordMap $ loop (dropNonInjective cohort) []
   reverse $ map recordMap $ loop cohort []
   where
     loop [] acc = acc
@@ -547,21 +547,25 @@
         ans
     recordMap (k, phi) = updateStrandMap phi k
 
+-- dropNonInjective :: [(Preskel, [Sid])] -> [(Preskel, [Sid])]
+-- dropNonInjective cohort = 
+--   filter (isInjective . snd) cohort
+--   where 
+--     isInjective phi = L.nub phi == phi
+
 -- Given two permutations p and p', with ranges r and r', this
 -- function returns the list of permutations p'' such that
 --
 --    p'' o p' = p.
 --
--- This function assumes p' is injective and the returns permutations
--- that also must be.
+-- This function no longer assumes p' is injective but it returns permutations
+-- that are.
 
 composeFactors :: [Int] -> [Int] -> [Int] -> [Int] -> [[Int]]
 composeFactors r r' p p' =
-  perms (zip p' p) (filter (flip notElem p) r) r'
-
--- The correctness of this function depends on the fact that the
--- length of range is at most one so that the result is always
--- injective.
+  filter isInjective $ perms (zip p' p) r r'
+  where isInjective phi = L.nub phi == phi
+  --perms (zip p' p) (filter (flip notElem p) r) r' -- JDR-era code
 
 perms :: [(Int, Int)] -> [Int] -> [Int] -> [[Int]]
 perms _ _ [] = [[]]
@@ -831,10 +835,10 @@
       iter [] = []
       iter (k' : rest) =
           let mapping = getStrandMap (operation k') in
-           case specialization k k' mapping of
-             [] -> --tShow1 k k' mapping `deepseq` tShow2 k k' mapping `deepseq` tShow3 k k' mapping `deepseq` 
-                iter rest
-             ks -> ks  -- Don't add iter rest. Just take the first successful one.
+          -- case z "}" (specialization k (z "{" k') mapping)
+          case specialization k k' mapping of
+            [] -> iter rest  -- Was:  -- tShow1 k k' mapping `deepseq` tShow2 k k' mapping `deepseq` tShow3 k k' mapping `deepseq` 
+            ks -> ks  -- Don't add iter rest. Just take the first successful one.
       recordMap (k, sm) = --if sm == getStrandMap (operation kk)
                           --then kk
                           --else -- z (show $ getStrandMap (operation
diff --git a/src/CPSA/Diff/Main.hs b/src/CPSA/Diff/Main.hs
--- a/src/CPSA/Diff/Main.hs
+++ b/src/CPSA/Diff/Main.hs
@@ -41,13 +41,29 @@
 go :: Params -> PosHandle -> PosHandle -> IO ()
 go params old new =
     do
-      o <- readSkel old
-      n <- readSkel new
+      o1 <- readSkel old
+      n1 <- readSkel new
+            
+      let o = maybeFilter params o1
+      let n = maybeFilter params n1 
+
       case (o, n) of
         (Nothing, Nothing) -> return ()
         (Just o, Just n) | o == n -> go params old new
         _ -> showDiff params o n
 
+maybeFilter :: Params -> Maybe (SExpr Pos) -> Maybe (SExpr Pos)
+maybeFilter _ Nothing = Nothing
+maybeFilter params (Just s) =
+    loop s $ ignoreKws params
+    where
+      loop s [] = Just s
+      loop s (i : ignKws) =
+          case filterListsByHead i s of
+            Nothing -> Nothing
+            Just s' -> loop s' ignKws
+
+
 showDiff :: Params -> Maybe (SExpr Pos) -> Maybe (SExpr Pos) -> IO ()
 showDiff params o n =
     do
@@ -94,7 +110,8 @@
 
 data Params = Params
     { file :: Maybe FilePath,   -- Nothing specifies standard output
-      margin :: Int }           -- Output line length
+      margin :: Int,            -- Output line length
+      ignoreKws :: [String] }   -- Keywords to ignore in skeletons
     deriving Show
 
 indent :: Int
@@ -106,6 +123,7 @@
     | Info                      -- Version information
     | Margin String             -- Output line length
     | Output String             -- Output file name
+    | Ignore String             -- Keyword for skeleton sub-list to ignore 
       deriving Show
 
 options :: [OptDescr Flag]
@@ -113,6 +131,7 @@
     [ Option ['o'] ["output"]   (ReqArg Output "FILE") "output FILE",
       Option ['m'] ["margin"]   (ReqArg Margin "INT")
       ("set output margin (default " ++ show defaultMargin ++ ")"),
+      Option ['i'] ["ignore"]   (ReqArg Ignore "STRING") "ignore keyword", 
       Option ['h'] ["help"]     (NoArg Help)           "show help message",
       Option ['v'] ["version"]  (NoArg Info)           "show version number" ]
 
@@ -138,7 +157,8 @@
 interp :: [Flag] -> IO Params
 interp flags =
     loop flags (Params { file = Nothing, -- By default, no output file
-                         margin = defaultMargin })
+                         margin = defaultMargin,
+                         ignoreKws = [] })
     where
       loop [] params = return params
       loop (Output name : flags) params
@@ -152,6 +172,9 @@
                 do
                   msg <- use options ["Bad value for margin\n"]
                   abort msg
+      loop (Ignore kw : flags) params =
+          loop flags $ params { ignoreKws =
+                                    kw : ignoreKws params}
       loop (Info : _) _ =
           success cpsaVersion
       loop (Help : _) _ =
diff --git a/src/CPSA/Displayer.hs b/src/CPSA/Displayer.hs
--- a/src/CPSA/Displayer.hs
+++ b/src/CPSA/Displayer.hs
@@ -260,7 +260,7 @@
 -- Display the remainder of a preskeleton
 displayRest :: Preskel -> Context -> [SExpr ()] -> [SExpr ()]
 displayRest k ctx rest =
-    displayOptional "precedes" (displayOrdering (orderings k))
+    (displayOptional "precedes" (displayOrdering (orderings k))
      (displayOptional "non-orig" (displayTerms ctx (sansPts (knon k)))
       (displayOptional "pen-non-orig" (displayTerms ctx (sansPts (kpnon k)))
        (displayOptional "uniq-orig" (displayTerms ctx (sansPts (kunique k)))
@@ -277,10 +277,16 @@
                   (displayOptional "rule" (L.sort (map (S ()) (krules k)))
                    (displayOperation k ctx
                     (displayStrandMap k
-                     (displayOptional "traces" traces rest)))))))))))))))))
+                     (displayOptional "traces" traces rest))))))))))))))))))
     where
       priorities = map displayPriority (kpriority k)
       traces = map (L () . displayTrace ctx . trace) (insts k)
+
+{--
+displayPOV :: Maybe Preskel -> [SExpr ()]
+displayPOV Nothing = [S () "None"]
+displayPOV (Just _) = [S () "Some"]
+--}
 
 displayFacts :: Context -> [Fact] -> [SExpr ()]
 displayFacts ctx =
diff --git a/src/CPSA/GenRules.hs b/src/CPSA/GenRules.hs
--- a/src/CPSA/GenRules.hs
+++ b/src/CPSA/GenRules.hs
@@ -596,7 +596,8 @@
                             {uvars = [z0,z1,z2,i0,i1,i2],
                              antec = [ -- useful for debugging:
                                        -- (AFact "no-state-split" []),
-                                       (Trans (z0,i0)), (Trans (z1,i1)), (Trans (z2,i2)),
+                                       (Trans (z0,i0)), --(Trans (z1,i1)), 
+                                       (Trans (z2,i2)),
                                        (LeadsTo (z0,i0) (z1,i1)), (SameLocn (z0,i0) (z2,i2)),
                                        (Prec (z0,i0) (z2,i2)) ],
                              consq = [([],                -- no bvs
diff --git a/src/CPSA/Graph/Loader.hs b/src/CPSA/Graph/Loader.hs
--- a/src/CPSA/Graph/Loader.hs
+++ b/src/CPSA/Graph/Loader.hs
@@ -477,12 +477,16 @@
             return (adjoin np ns)
 
 loadPair :: MonadFail m => [Int] -> SExpr Pos -> Bool -> m Pair
-loadPair heights (L pos [x0, x1]) strict =
+loadPair heights (L _ [x0, x1]) strict = -- was pos 
     do
       n0 <- loadNode heights x0
       n1 <- loadNode heights x1
       case (strict && sameStrands n0 n1) of  -- Same strand
-        True -> fail (shows pos "Malformed pair -- nodes in same strand")
+        True -> return (n0, n1)
+        -- The True case used to be:  
+        -- fail (shows pos "Malformed pair -- nodes in same strand")
+        -- but this check seems unnecessary.  The pair is then either
+        -- inconsistent because it causes a cycle or else irrelevant.  
         False -> return (n0, n1)
     where
       sameStrands (s0, _) (s1, _) = s0 == s1
diff --git a/src/CPSA/Lib/SExpr.hs b/src/CPSA/Lib/SExpr.hs
--- a/src/CPSA/Lib/SExpr.hs
+++ b/src/CPSA/Lib/SExpr.hs
@@ -34,8 +34,9 @@
 -- University of California.
 
 module CPSA.Lib.SExpr (SExpr(..), showQuoted, stringSExpr, annotation,
+                       filterListsByHead, 
                        -- * S-expression Reader
-                       Pos, PosHandle, posHandle, load) where
+                       Pos, PosHandle, posHandle, load, getPos) where
 
 import Data.Char (isSpace, isDigit, isAlphaNum, isPrint)
 import Data.IORef (IORef, newIORef, readIORef, writeIORef)
@@ -87,6 +88,12 @@
           showl [] = id
           showl (x:xs) = showChar ' ' . shows x . showl xs
 
+getPos :: SExpr a -> a
+getPos (S a _) = a
+getPos (Q a _) = a
+getPos (N a _) = a
+getPos (L a _) = a
+
 -- | Add quotes to a string so it reads as an S-expression string.
 showQuoted :: String -> ShowS
 showQuoted s = showChar '"' . showEscaped s . showChar '"'
@@ -380,3 +387,66 @@
     do
       hClose $ pHandle p
       fail msg
+
+-- Report whether an sexp is a target string.
+
+observeSymbol :: String -> SExpr a -> Bool
+observeSymbol tgt (S _ s) = tgt == s
+observeSymbol _ _ = False
+
+observeHead :: String -> SExpr a -> Bool
+observeHead tgt (L _ (x : _)) = observeSymbol tgt x
+observeHead _ _ = False
+
+confrontNothing :: [Maybe a] -> Maybe [a]
+confrontNothing [] = Just []
+confrontNothing (Nothing : _) = Nothing
+confrontNothing (Just a : rest) =
+    case confrontNothing rest of
+      Nothing -> Nothing
+      Just rest' -> Just (a : rest')
+
+{--
+filterEmpties :: SExpr a -> Maybe (SExpr a)
+filterEmpties (L _ []) = Nothing
+filterEmpties (L p xs) =
+    case confrontNothing (map filterEmpties xs) of
+      Nothing -> Nothing
+      Just ys -> Just (L p ys)
+
+filterEmpties s = Just s
+--}
+
+-- Go through an sexp and, if it is a list sexp, discard any immediate
+-- subexprs that do not satisfy predicate pred.  Return Nothing if all
+-- subexprs would be discarded.  Non-list sexps are unchanged.
+
+filterListExprs :: (SExpr a -> Bool) -> SExpr a -> Maybe (SExpr a)
+filterListExprs _ (L _ []) = Nothing
+filterListExprs pred (L p (x:xs)) 
+    | pred x = Just (L p (x : filter pred xs))
+    | otherwise = 
+        case xs of
+          [] -> Nothing
+          (y:ys) -> filterListExprs pred (L (getPos y) (y:ys))
+filterListExprs _ s = Just s 
+
+-- Descend n layers through an sexp, filtering the sublists at that
+-- level.
+
+filterSubExprs :: Int -> (SExpr a -> Bool) -> SExpr a -> Maybe (SExpr a)
+filterSubExprs 0 pred s = filterListExprs pred s
+filterSubExprs i pred (L p xs) =
+    case confrontNothing $ map (filterSubExprs (i-1) pred) xs of
+      Nothing -> Nothing
+      Just ys -> Just (L p ys)
+
+filterSubExprs _ _ s = Just s                 
+
+filterListsByHead :: String -> SExpr a -> Maybe (SExpr a)
+filterListsByHead avoidStr sexpr =
+    filterSubExprs 0 (not . (observeHead avoidStr)) sexpr
+
+                   
+                        
+        
diff --git a/src/CPSA/Lib/Utilities.hs b/src/CPSA/Lib/Utilities.hs
--- a/src/CPSA/Lib/Utilities.hs
+++ b/src/CPSA/Lib/Utilities.hs
@@ -28,6 +28,15 @@
     if a `elem` bs then union as bs
     else a : union as bs
 
+setMinus :: Eq a => [a] -> [a] -> [a]
+setMinus [] _ = []
+setMinus (a : arest) bs
+    | a `elem` bs = setMinus arest bs
+    | otherwise = a : setMinus arest bs
+
+                  
+    
+
 -- Delete the nth item in a list
 deleteNth :: Int -> [a] -> [a]
 deleteNth n (x : xs)
diff --git a/src/CPSA/LoadFormulas.hs b/src/CPSA/LoadFormulas.hs
--- a/src/CPSA/LoadFormulas.hs
+++ b/src/CPSA/LoadFormulas.hs
@@ -266,7 +266,7 @@
 
 loadConjuncts :: MonadFail m => Sig -> Pos -> Prot -> [Term] ->
                  [SExpr Pos] -> Conj -> m Conj
-loadConjuncts _ _ _ _ [] rest = return (reverse rest)
+loadConjuncts _ _ _ _ [] rest = return $ L.sortBy (\(_, x) (_, y) -> aFormOrder x y) rest--(reverse rest) 
 -- If the head is a strand formula treat it specially
 loadConjuncts sig _ p kvars ((L pos (S _ "strand" : ss)) : xs) rest =
   do
@@ -298,13 +298,13 @@
 
 -- Load a listener formula
 loadListener :: MonadFail m => Sig -> Pos -> Prot -> [Term] -> [SExpr Pos] -> m Conj
-loadListener sig pos p kvars [S pos1 x, S pos2 y] =
+loadListener sig pos p kvars [S pos1 x, z] =
   do
     let r = listenerRole p
     v <- loadAlgChanTerm sig (rvars r) (S pos "x")
     s <- loadStrdTerm sig kvars (S pos1 x)
-    t <- loadAlgChanTerm sig kvars (S pos2 y)
-    return [(pos1, Length r s (indxOfInt 2)), (pos2, Param r v 2 s t)]
+    t <- loadAlgTerm sig kvars z
+    return [(pos1, Length r s (indxOfInt 2)), (getPos z, Param r v 2 s t)]
 loadListener _ pos _ _ _ = fail (shows pos "Bad listener formula")
 
 loadVMaps :: MonadFail m => Sig -> Pos -> Prot -> [Term] ->
diff --git a/src/CPSA/Loader.hs b/src/CPSA/Loader.hs
--- a/src/CPSA/Loader.hs
+++ b/src/CPSA/Loader.hs
@@ -143,7 +143,7 @@
       (gen, vars) <- loadVars sig gen vars
       (gen, vars, pt_u, pr_t, c) <-
           -- critical section indices computed below
-          loadTrace sig gen vars (evt : c)
+          loadTrace sig name gen vars (evt : c)
       n <- loadPosBaseTerms sig vars (assoc "non-orig" rest)
       a <- loadPosBaseTerms sig vars (assoc "pen-non-orig" rest)
       u <- loadBaseTerms sig vars (assoc "uniq-orig" rest)
@@ -855,9 +855,9 @@
           else
               Nothing
 
-loadTrace :: MonadFail m => Sig -> Gen -> [Term] ->
+loadTrace :: MonadFail m => Sig -> String -> Gen -> [Term] ->
              [SExpr Pos] -> m (Gen, [Term], [Term], PreRules, Trace)
-loadTrace sig gen vars xs =
+loadTrace sig name gen vars xs =
     loadTraceLoop gen [] [] emptyPreRules [] xs
     where
       loadTraceLoop :: MonadFail m => Gen -> [Term] -> [Term] -> PreRules
@@ -871,11 +871,12 @@
                   [] -> return (gen, (vars ++ (reverse newVars)),
                                        (reverse uniqs), pr, events')
                   (v,p) : _ ->
-                      fail (shows xs $ " Var received non-carried, the sent carried:  " ++
+                      fail (shows xs $ " Var received non-carried in role " ++ name ++
+                                      ", then sent carried:  " ++
                                       (show v) ++ " at event " ++ (show p))
-            Just (_,i) ->
-                fail (shows xs $ " Expts must first be received, rndxs first sent:  " ++
-                                " at event " ++ (show i))
+            Just (bad,i) ->
+                fail (shows bad $ " Expts must first be received, rndxs first sent:  " ++
+                                " at event " ++ (show i) ++ " in role " ++ name)
       loadTraceLoop gen newVars uniqs pr events ((L _ [S _ "recv", t]) : rest) =
           do
             t <- loadTerm sig vars -- True
@@ -915,16 +916,16 @@
 
       loadTraceLoop gen newVars uniqs pr events ((L _ [S pos "rely", form]) : rest) =
           case events of
-            [] -> fail (shows pos $ "Rely precedes first event:  " ++ (show form))
+            [] -> fail (shows pos $ "Rely precedes first event in role " ++ name ++ ":  " ++ (show form))
             (In _) : _ ->
                 loadTraceLoop gen newVars uniqs
                               (preRulesAddRely pr ((L.length events), form))
                               events rest
-            _ -> fail (shows pos $ "Rely must follow recv or load:  " ++ (show form))
+            _ -> fail (shows pos $ "Rely must follow recv or load in role " ++ name ++ ":  " ++ (show form))
 
       loadTraceLoop gen newVars uniqs pr events ((L _ [S pos "guar", form]) : rest) =
           case rest of
-            [] -> fail (shows pos $ "Guarantee follows last event:  " ++ (show form))
+            [] -> fail (shows pos $ "Guarantee follows last event in role " ++ name ++ ":  " ++ (show form))
             (L _ (S _ "stor" : _) : _) ->
                 loadTraceLoop gen newVars uniqs
                                   (preRulesAddGuar pr (1+(L.length events), form))
@@ -933,11 +934,11 @@
                 loadTraceLoop gen newVars uniqs
                                   (preRulesAddGuar pr (1+(L.length events), form))
                                   events rest
-            _ -> fail (shows pos $ "Guarantee must precede send or stor:  " ++ (show form))
+            _ -> fail (shows pos $ "Guarantee must precede send or stor in role " ++ name ++ ":  " ++ (show form))
 
       loadTraceLoop gen newVars uniqs pr events ((L _ [S pos "cheq", src, tgt]) : rest) =
           case rest of
-            [] -> fail (shows pos $ "cheq must precede some event:  " ++ (show src) ++ ", " ++ (show tgt))
+            [] -> fail (shows pos $ "cheq must precede some event in role " ++ name ++ ":  " ++ (show src) ++ ", " ++ (show tgt))
             _ ->
                 do
                   src <- loadTerm sig vars False src
@@ -948,10 +949,10 @@
                                 events rest
 
       loadTraceLoop _ _ _ _ _ ((L pos [S _ dir, _, _]) : _) =
-          fail (shows pos $ "Unrecognized direction " ++ dir)
+          fail (shows pos $ "Unrecognized direction in role " ++ name ++ " " ++ dir)
 
       loadTraceLoop _ _ _ _ _ (x : _) =
-          fail (shows (annotation x) "Malformed event")
+          fail (shows (annotation x) "Malformed event in role " ++ name)
 
 loadChan :: MonadFail m => Sig -> [Term] -> SExpr Pos -> m Term
 loadChan sig vars x =
@@ -1180,9 +1181,10 @@
       let (nr', ar', ur', ug', ab', cn', au') =
             foldl addInstOrigs (nr, ar, ur, ug, ab, cn, au) insts
       prios <- mapM (loadPriorities heights) pl
-      let k = mkPreskel gen p gs insts o nr' ar' ur'
-              ug' ab' pr genSts cn' au' fs prios comment
+      let k0 = mkPreskel gen p gs insts o nr' ar' ur'
+               ug' ab' pr genSts cn' au' fs prios comment
           ab'' = L.concatMap (\(x, y) -> [x, y]) ab'
+      let k = k0 {pov = Just k0}
       case termsWellFormed $ nr' ++ ar' ++ ur' ++ ug' ++ ab'' ++ kterms k of
         False -> fail (shows pos "Terms in skeleton not well formed")
         True -> return ()
@@ -1205,12 +1207,16 @@
             return (adjoin np ns)
 
 loadPair :: MonadFail m => [Int] -> SExpr Pos -> m Pair
-loadPair heights (L pos [x0, x1]) =
+loadPair heights (L _ [x0, x1]) = -- was pos 
     do
       n0 <- loadNode heights x0
       n1 <- loadNode heights x1
       case fst n0 == fst n1 of  -- Same strand
-        True -> fail (shows pos "Malformed pair -- nodes in same strand")
+        True -> return (n0, n1)
+        -- The True case used to be:  
+        -- fail (shows pos "Malformed pair -- nodes in same strand")
+        -- but this check seems unnecessary.  The pair is then either
+        -- inconsistent because it causes a cycle or else irrelevant.  
         False -> return (n0, n1)
 loadPair _ x = fail (shows (annotation x) "Malformed pair")
 
diff --git a/src/CPSA/Protocol.hs b/src/CPSA/Protocol.hs
--- a/src/CPSA/Protocol.hs
+++ b/src/CPSA/Protocol.hs
@@ -360,7 +360,6 @@
            rpnon = pnon,
            runique = L.nub unique,
            runiqgen = uniqgen',
-           rabsent = absent',
            rconf = L.nub conf,
            rauth = L.nub auth,
            rcomment = comment,
@@ -372,7 +371,8 @@
            rpconf = map addChanPos $ L.nub conf,
            rpauth = map addChanPos $ L.nub auth,
            rpriority = addDefaultPrio priority,
-           rsearch = rev
+           rsearch = rev,
+           rabsent = absent'
          }
     where
       uniqgen' = L.nub uniqgen
@@ -420,13 +420,19 @@
                 Nothing -> defaultPriority
                 Just p -> p
 
+{--
+  error
+  ("Protocol.mkRole: Atom " ++ (show v) ++
+  " does not generate")
+  --}
+
 traceAbsent :: Trace -> [Term] -> [(Term, Term)]
 traceAbsent trace ugens =
   concatMap indz_ininsts $ filter isNum ugens
   where
     indz_ininsts v =
       case generationPos v trace of
-        Nothing -> error "Protocol.mkRole: Atom does not generate"
+        Nothing -> indz_ininsts_var v 0
         Just p -> indz_ininsts_var v p
     -- ind-zero instances for a specific variable v that generates at height p
     indz_ininsts_var v p =
diff --git a/src/CPSA/Reduction.hs b/src/CPSA/Reduction.hs
--- a/src/CPSA/Reduction.hs
+++ b/src/CPSA/Reduction.hs
@@ -31,7 +31,7 @@
 import System.IO.Error (ioeGetErrorString)
 
 z :: Show a => a -> b -> b
-z x y = unsafePerformIO (print x >> return y)
+z x y = unsafePerformIO (print x >> hFlush stdout >> return y)
 
 zz :: Show a => a -> a
 zz x = z x x
@@ -349,7 +349,9 @@
       step p h ks m oseen n seen todo toobig (Reduct lk size kids dups : reducts)
 
 step p h ks m oseen n seen todo toobig (Reduct lk size kids dups : reducts)
-    | optGoalsSat p && satCheck lk = -- Stop if goals satisfied mode?
+    | optGoalsSat p &&
+      goalsPresent lk &&
+      noCounterExamples lk = -- Stop if goals satisfied mode?
         do
           let ns = unrealized (content lk)
           let shape = if null ns then Shape else Fringe
@@ -541,10 +543,10 @@
     addKeyValues realizedToken (map displayNode $ L.sort unrealized) $
     addKindKey kind $ addAnnoKey anno $
     condAddKeyValues "satisfies" (kind == Shape && (not $ null $ kgoals k))
-    (satisfies k) $
+    (reportSatisfies k) $
     -- Structure preserving maps
     -- Added for cpsasas program
-    condAddKeyValues "maps" fringe (maps k) $
+    condAddKeyValues "maps" True (maps k) $
     -- Nodes of origination
     -- Added for cpsasas program
     condAddKeyValues "origs" (starter k || fringe) (origs k) $
@@ -623,18 +625,21 @@
 
 -- Variable assignments and security goals
 
-satisfies :: Preskel -> [SExpr ()]
-satisfies k =
-  map f (sat k) where
-    f (_, []) = S () "yes"
-    f (g, ge : _) =
-      L () (S () "no" :
-            (displayForm
-             (ctx $ (uvars g) ++ (evars g) ++ (kvars k))
-             (unSatReport k g ge)) :
-            (displayEnv (ctx $ uvars g) (ctx $ kvars k) (snd ge)))
-    ctx ts = addToContext emptyContext ts
-    evars g = concatMap fst $ consq g
+reportSatisfies :: Preskel -> [SExpr ()]
+reportSatisfies k =
+    case goalCounterExamples k of
+      [] -> [S () "yes"]
+      goalGEs -> map f goalGEs
+    where
+      f (_, []) = error "reportSatisfies:  How did goalCounterExamples give nil?"
+      f (g, ge : _) = 
+          L () (S () "no" :
+                (displayForm
+                 (ctx $ (uvars g) ++ (evars g) ++ (kvars k))
+                 (unSatReport k g ge)) :
+                (displayEnv (ctx $ uvars g) (ctx $ kvars k) (snd ge)))
+      ctx ts = addToContext emptyContext ts
+      evars g = concatMap fst $ consq g
 
 -- Prints structure preserving maps (homomorphisms)
 maps :: Preskel -> [SExpr ()]
@@ -642,14 +647,17 @@
     map (amap $ strandMap k) (envMaps k)
     where
       amap strands env = L () [L () strands, L () env]
-      strandMap k = map (N ()) (map f (pprob k))
-      f s = prob k !! s
+      strandMap k = map (N ()) (prob k)
+                    -- (map f (pprob k))
+                    -- f s = prob k !! s
       envMaps k =
           case pov k of
             Nothing -> []
             Just k' ->
-                map (displayEnvSansPts vars (ctx k') (ctx k)) (homomorphism k' k (prob k))
-      ctx k = addToContext emptyContext (kvars k)
+                map (\(_,env) ->
+                         displayEnvSansPts vars (ctx k') (ctx k) env)
+                $ homomorphism k' k (prob k)
+      ctx k = addToContext emptyContext ((kvars k) ++ (kfvars k))
       vars = kvars k
 
 -- Prints the nodes of origination for each uniquely originating atom
@@ -668,10 +676,10 @@
     where
       ctx = addToContext emptyContext (kvars k)
 
-satCheck :: LPreskel -> Bool
-satCheck lk =
-  not (null tests) && all f tests
-  where
-    tests = sat $ content lk
-    f (_, []) = True
-    f _ = False
+goalsPresent :: LPreskel -> Bool
+goalsPresent lk =
+    (not . null) $ kgoals $ content lk
+
+noCounterExamples :: LPreskel -> Bool
+noCounterExamples lk =
+    (null. goalCounterExamples) $ content lk
diff --git a/src/CPSA/SAS/SAS.hs b/src/CPSA/SAS/SAS.hs
--- a/src/CPSA/SAS/SAS.hs
+++ b/src/CPSA/SAS/SAS.hs
@@ -371,12 +371,16 @@
       return (adjoin np nps)
 
 loadPair :: MonadFail m => [Int] -> SExpr Pos -> m Pair
-loadPair heights (L pos [x0, x1]) =
+loadPair heights (L _ [x0, x1]) =
     do
       n0 <- loadNode heights x0
       n1 <- loadNode heights x1
       case sameStrands n0 n1 of  -- Same strand
-        True -> fail (shows pos "Malformed pair -- nodes in same strand")
+        True -> return (n0, n1)
+        -- The True case used to be:  
+        -- fail (shows pos "Malformed pair -- nodes in same strand")
+        -- but this check seems unnecessary.  The pair is then either
+        -- inconsistent because it causes a cycle or else irrelevant.  
         False -> return (n0, n1)
     where
       sameStrands (s0, _) (s1, _) = s0 == s1
diff --git a/src/CPSA/Strand.hs b/src/CPSA/Strand.hs
--- a/src/CPSA/Strand.hs
+++ b/src/CPSA/Strand.hs
@@ -5,18 +5,6 @@
 -- This program is free software: you can redistribute it and/or
 -- modify it under the terms of the BSD License as published by the
 -- University of California.
-{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
-{-# HLINT ignore "Use if" #-}
-{-# HLINT ignore "Redundant bracket" #-}
-{-# HLINT ignore "Move brackets to avoid $" #-}
-{-# HLINT ignore "Redundant map" #-}
-{-# HLINT ignore "Use section" #-}
-{-# HLINT ignore "Redundant return" #-}
-{-# HLINT ignore "Use fmap" #-}
-{-# HLINT ignore "Use =<<" #-}
-{-# HLINT ignore "Eta reduce" #-}
-{-# HLINT ignore "Replace case with fromMaybe" #-}
-{-# HLINT ignore "Use all" #-}
 
 module CPSA.Strand (Instance, mkInstance, bldInstance, mkListener,
     role, env, trace, height, listenerTerm, mkPreskel,
@@ -34,7 +22,7 @@
     inheritRconf, inheritRauth, addListener, addBaseListener, addAbsence,
     updateStrandMap,
     operation, krules, pprob, prob, homomorphism, toSkeleton, generalize,
-    collapse, sat, unSatReport, FTerm (..), Fact (..), simplify, rewrite,
+    collapse, goalCounterExamples, unSatReport, FTerm (..), Fact (..), simplify, rewrite,
     localSignal, rewriteUnaryOneOnce, nodePairsOfSkel, applyLeadsTo) where
 
 import Control.Monad
@@ -50,17 +38,20 @@
 import CPSA.Protocol
 import CPSA.Operation
 
-
 {--
 
+
+
+import System.IO
 import System.IO.Unsafe
 import Control.Exception (try)
 import System.IO.Error (ioeGetErrorString)
 -- import Control.DeepSeq
 
 z :: Show a => a -> b -> b
-z x y = unsafePerformIO (print x >> return y)
+z x y = unsafePerformIO (print x >> hFlush stdout >> return y)
 
+
 zz :: Show a => a -> a
 zz x = z x x
 
@@ -194,6 +185,19 @@
 useVariableSeparation :: Bool
 useVariableSeparation = True -- False
 
+-- Should we do the full node deletion?
+-- To do nothing *other* than node deletions, set this to True
+generalizeOnlyByDeletion :: Bool
+generalizeOnlyByDeletion = False -- True 
+
+
+-- When doing deletion, should we delete *only* listener strands?
+-- To restrict to that, set this to True; otherwise all kinds of nodes
+-- will be candidates 
+  
+generalizeDeleteOnlyListeners :: Bool
+generalizeDeleteOnlyListeners = False -- True
+
 -- Instances and Strand Identifiers
 
 -- An Instance is an instance of a role, in the sense that each
@@ -378,6 +382,11 @@
 graphEdges strands =
     [ (dst, src) | s <- strands, src <- nodes s, dst <- preds src ]
 
+nodeGraphEdges :: [GraphStrand e i] -> [Pair]
+nodeGraphEdges strands =
+    [ (graphNode dst, graphNode src)
+          | s <- strands, src <- nodes s, dst <- preds src ]
+
 data Graph e i
     = Graph { gstrands :: [GraphStrand e i],
               gedges :: [GraphEdge e i] }
@@ -445,10 +454,13 @@
           | otherwise = inner (p : orderings) True pairs rest
       sameStrands (n0, n1) = strand n0 == strand n1
 
+
 -- Compute the transitive closure including same strand
 -- pairs.
 -- This routine returns pairs that are not well ordered.
 -- Deal with it!
+
+{-- 
 graphCloseAll :: [GraphEdge e i] -> [GraphEdge e i]
 graphCloseAll orderings =
     graphAllCloseLoop orderings False orderings
@@ -465,11 +477,50 @@
           | elem p orderings = inner orderings repeat pairs rest
           | otherwise = inner (p : orderings) True pairs rest
 
+--}
+
+nodeGraphCloseAll :: [Pair] -> [Pair]
+nodeGraphCloseAll orderings =
+    nodeGraphAllCloseLoop orderings False orderings
+
+--       if all orderingOK allNodes
+--       then 
+--           nodeGraphAllCloseLoop orderings False orderings
+--       else
+--           z ("missing predecessors for: " ++
+--              (show $ L.nub $ filter (not . orderingOK) allNodes))
+--                 $ nodeGraphAllCloseLoop orderings False orderings
+
+    where      
+      myPreds (s,i) =
+          let pairs = map fst
+                      (filter (\((_,_), (s1,i1)) -> s == s1 && i == i1)
+                       orderings) in
+          if i == 0 then pairs
+          else adjoin (s,i-1) pairs
+               
+      -- allNodes = union (map fst orderings) (map snd orderings)
+      -- immPreds = [ (n, (myPreds n)) | n <- allNodes ]
+      -- orderingOK (s,i) = i == 0 || (s,i-1) `elem` myPreds(s,i)
+
+      nodeGraphAllCloseLoop orderings False [] = orderings
+      nodeGraphAllCloseLoop orderings True [] =
+          nodeGraphAllCloseLoop orderings False orderings -- restart loop
+      nodeGraphAllCloseLoop orderings repeat ((n0, n1) : pairs) =
+          inner orderings repeat pairs n1 (myPreds n0)
+                    
+      inner orderings repeat pairs _ [] =
+          nodeGraphAllCloseLoop orderings repeat pairs
+      inner orderings repeat pairs n1 (n : rest)  
+          | elem (n,n1) orderings = inner orderings repeat pairs n1 rest
+          | otherwise = inner ((n,n1) : orderings) True pairs n1 rest      
+
 -- Shared part of preskeletons
 
 data Shared = Shared
     { prot  :: Prot,
-      goals :: [Goal] }
+      goals :: [Goal],
+      comments :: [SExpr ()] }
 
 instance Show Shared where
     showsPrec _ s = shows (prot s)
@@ -480,6 +531,9 @@
 kgoals :: Preskel -> [Goal]
 kgoals k = goals $ shared k
 
+kcomment :: Preskel -> [SExpr ()]
+kcomment k = comments $ shared k
+
 -- Preskeletons
 
 data Preskel = Preskel
@@ -503,7 +557,6 @@
       kfacts :: ![Fact],          -- A list of facts
       kfvars :: [Term],           -- Fact vars not in instances
       kpriority :: [(Node, Int)], -- Override node priority
-      kcomment :: [SExpr ()],   -- Comments from the input
       korig :: ![(Term, [Node])], -- This is an association list with a
                                 -- pair for each element of kunique.
                                 -- The value associated with a term
@@ -545,13 +598,12 @@
              [Term] -> [Fact] -> [(Node, Int)] -> [SExpr ()] -> Preskel
 mkPreskel gen protocol gs insts orderings non pnon
           unique uniqgen absent precur genStVs
-          conf auth facts prio comment =
-    k { kcomment = comment }
+          conf auth facts prio comment = k
     where
       k = newPreskel gen shared insts orderings non pnon
           unique uniqgen absent precur genStVs
           conf auth facts prio New [] prob prob Nothing
-      shared = Shared { prot = protocol, goals = gs }
+      shared = Shared { prot = protocol, goals = gs, comments = comment }
       prob = strandids k        -- Fixed point on k is okay.
 
 showPreskelSelectively :: [String] -> Preskel -> String
@@ -589,8 +641,10 @@
 firstSkeleton k =
     do
       k <- wellFormedPreskel k
-      k' <- toSkeleton False k   -- only k' should have pov = Nothing
-      return $ k' { pprob = prob k', prob = strandids k', pov = Just k' }
+      k' <- toSkeleton False k   -- only k and k' should have pov = Nothing
+      return $ k' { pprob = prob k',
+                            prob = -- strandids k' 
+                            prob k', pov = Just k }
 
 -- Create a preskeleton.  The node ordering relation is put into the
 -- preds field of each instance in this function.  The maybe uniquely
@@ -611,8 +665,9 @@
         g = graph trace height insts orderings'
         strands = gstrands g
         edges = gedges g
-        gpOrds = map graphPair $ graphClose $ graphEdges $ strands
-        gpOrdsAll = map graphPair $ graphCloseAll $ graphEdges $ strands
+        -- gpOrds = map graphPair $ graphClose $ graphEdges $ strands
+        gpOrdsAll = nodeGraphCloseAll $ nodeGraphEdges strands
+        gpOrds = filter (not . sameStrands) gpOrdsAll
         orig = map (originationNodes strands) unique'
         ugen = map (generationNodes strands) uniqgen'
         tc = filter pairWellOrdered (graphClose $ graphEdges strands)
@@ -637,7 +692,6 @@
                       kfacts = facts',
                       kfvars = factVars insts facts',
                       kpriority = prio,
-                      kcomment = [],
                       korig = orig,
                       kugen = ugen,
                       tc = map graphPair tc,
@@ -648,9 +702,31 @@
                       pprob = pprob,
                       prob = prob,
                       pov = pov } in
-        if useCheckVars then
-            checkVars k
-        else k
+    if useCheckVars then
+               checkVars k
+           else k
+    where
+      sameStrands ((s0,_),(s1,_)) = s0 == s1 
+
+
+                
+{--    let alt = map graphPair $ graphCloseAll $ graphEdges $ strands in
+    case setMinus gpOrdsAll alt of
+      [] -> (case setMinus alt gpOrdsAll of
+               [] -> k
+               ns -> z ("mismatch alt: " -- ++ (show (L.sort ns))
+                       ) k)
+      ns -> (case setMinus alt gpOrdsAll of
+               [] -> (z ("mismatch gpOrdsAll: " -- ++ (show (L.sort
+                                                -- ns))
+                        )
+                      (z ("alt was: " -- ++ (show (L.sort alt))
+                         ) k))
+               ns -> z ("mismatch both ways: " ++ (show (L.sort ns))) k)
+--}
+
+
+
 {-
           if chkFacts k then k
           else k
@@ -680,28 +756,27 @@
 
 renewPreskel :: Preskel -> Preskel
 renewPreskel k =
-    let k' = newPreskel
-             (gen k)
-             (shared k)
-             (insts k)
-             (orderings k)
-             (knon k)
-             (kpnon k)
-             (kunique k)
-             (kuniqgen k)
-             (kabsent k)
-             (kprecur k)
-             (kgenSt k)
-             (kconf k)
-             (kauth k)
-             (kfacts k)
-             (kpriority k)
-             (operation k)
-             (krules k)
-             (pprob k)
-             (prob k)
-             (pov k) in
-    k' { kcomment = kcomment k}
+    newPreskel
+        (gen k)
+        (shared k)
+        (insts k)
+        (orderings k)
+        (knon k)
+        (kpnon k)
+        (kunique k)
+        (kuniqgen k)
+        (kabsent k)
+        (kprecur k)
+        (kgenSt k)
+        (kconf k)
+        (kauth k)
+        (kfacts k)
+        (kpriority k)
+        (operation k)
+        (krules k)
+        (pprob k)
+        (prob k)
+        (pov k)
 
 checkVars :: Preskel -> Preskel
 checkVars k =
@@ -784,6 +859,19 @@
     where
       origs v = snd (originationNodes (strands k) v)
 
+-- An auxiliary:  For uniq-gen, we want to make sure that *either* the
+-- atom occurs in the trace *or else* the atom is an asymmetric key
+-- and the inverse key occurs.  This matches the logic of
+-- originationPos and OccursPos in Protocol.hs.
+
+constituentModInv :: Term -> Term -> Bool
+constituentModInv atom t =
+    constituent atom t ||
+    case invertKey atom of
+      Nothing -> False
+      Just ik -> constituent ik t
+                
+
 -- A preskeleton is well formed if the ordering relation is acyclic,
 -- each atom declared to be uniquely-originating is carried in some
 -- preskeleton term, and every variable that occurs in each base term
@@ -814,7 +902,7 @@
       f b t = b && t `elem` vs
       nonCheck t = all (not . carriedBy t) terms
       uniqueCheck t = any (carriedBy t) terms
-      uniqgenCheck t = any (constituent t) terms
+      uniqgenCheck t = any (constituentModInv t) terms
       absentCheck (x, y) = varSubset [x, y] vs && x /= y
       genStCheck t = foldVars f True t
       chanCheck c = elem c vs
@@ -861,7 +949,7 @@
                        $ any (carriedBy t) terms
       uniqgenCheck t =
           failwith (showString "uniq-gen " $ showst t " does not occur")
-                       $ any (constituent t) terms
+                       $ any (constituentModInv t) terms
       absentCheck (x, y) =
           do
             failwith (showString "absent " $ showst x " does not occur")
@@ -1460,7 +1548,10 @@
       return (k0, k'', permuteNode perm n, map (perm !!) phi, hsubst)
 
 permuteOrderings :: [Sid] -> [Pair] -> [Pair]
-permuteOrderings perm orderings = map (permutePair perm) orderings
+permuteOrderings perm orderings =
+    --L.filter (\((z0,_),(z1,_)) -> z0 /= z1)
+      --   $ 
+    map (permutePair perm) orderings
 
 updatePerm :: Int -> Int -> [Sid] -> [Sid]
 updatePerm old new perm =
@@ -2017,7 +2108,7 @@
       checkOrig (u, ns) =
           case lookup (substitute subst u) (korig k') of
             Nothing -> False
-            Just ns' -> all (flip elem ns') (map (permuteNode phi) ns)
+            Just ns' -> all (flip elem ns') (map (permuteNode phi) ns) 
       checkGen (u, ns) =
           case lookup (substitute subst u) (kugen k') of
             Nothing -> False
@@ -2260,18 +2351,26 @@
 
 -- Homomorphisms
 
--- Find a substitution that demonstrates the existence of a
+-- Find an environment that demonstrates the existence of a
 -- homomorphism from k to k' using the given strand mapping function.
 
-homomorphism :: Preskel -> Preskel -> [Sid] -> [Env]
+homomorphism :: Preskel -> Preskel -> [Sid] -> [(Gen,Env)]
 homomorphism k k' mapping =
     do
-      (_, env) <- findReplacement k k' mapping
-      case validateEnv k k' mapping env of
-        True -> [env]
-        False -> []
+      (gen, env) <- findReplacement k k' mapping
+      validateEnv k k' mapping (gen,env)
 
-{--     filter (validateEnv k k mapping)
+{-- 
+
+homomorphismReport :: Preskel -> Preskel -> [Sid] -> [(Gen,Env)]
+homomorphismReport k k' mapping =
+    case (do
+           (gen, env) <- findReplacementReport k k' mapping
+           validateEnvReport k k' mapping (gen,env)) of
+      [] -> z "no homs to report" []
+      ges -> z ("yes homs: " ++ (show (L.length ges))) ges 
+
+    filter (validateEnv k k mapping)
                $ map snd
                      $ findReplacement k k' mapping
                      --}
@@ -2297,38 +2396,109 @@
     then let v = (let gg = gmerge (gen k) (gen k') in
                   foldM (matchStrand k k' mapping) (gg, emptyEnv) (strandids k))  in
          v
---            if (5 == L.length (insts k') &&
---                4 == L.length (insts k))
---            then
---                z (show (L.length v)) v
---            else v
     else []
-        -- error ("Yarg! JDR " ++ (show (L.length mapping)) ++ " vs " ++
-        --       (show (L.length (insts k))))
 
+{--         
+
+findReplacementReport :: Preskel -> Preskel -> [Sid] -> [(Gen, Env)]
+findReplacementReport k k' mapping =
+    let ges = findReplacement k k' mapping in
+    case ges of
+      [] -> z "no replacement" []
+      ges -> ges
+      
+--}
+         
+      
+-- Find extensions of the given environment that also cause strand s
+-- in k to match the trace of mapping !! s in k'
 matchStrand :: Preskel -> Preskel -> [Sid] -> (Gen, Env) -> Sid -> [(Gen, Env)]
 matchStrand k k' mapping env s =
-    matchTraces (trace (strandInst k s)) (trace (strandInst k' s')) env
+    matchTraces (trace (strandInst k s)) (trace (strandInst k' s')) env 
     where
       s' = mapping !! s
+{--
 
-validateEnv :: Preskel -> Preskel -> [Sid] -> Env -> Bool
-validateEnv k k' mapping env =
-    all (flip elem (knon k')) (map (instantiate env) (knon k)) &&
-    all (flip elem (kpnon k')) (map (instantiate env) (kpnon k)) &&
-    all (flip elem (kunique k')) (map (instantiate env) (kunique k)) &&
-    all (flip elem (kuniqgen k')) (map (instantiate env) (kuniqgen k)) &&
-    all (flip elem (kabsent k')) (map (instantiatePair env) (kabsent k)) &&
-     --    all (flip elem (kprecur k')) (map (permuteNode mapping) (kprecur k)) &&
-    all (flip elem (kfacts k'))
-            (map (instUpdateFact env (mapping !!)) (kfacts k)) &&
-    all (flip elem (kgenSt k')) (map (instantiate env) (kgenSt k)) &&
-    validateEnvOrig k k' mapping env &&
-    all (flip elem (tc k')) (permuteOrderings mapping (orderings k))
+-- Find extensions of the given environment env that also cause strand
+-- s in k to match the trace of mapping !! s in k', rejecting any
+-- candidates env' that affect the binding of vars already in the
+-- domain of env.  These would yield too tight an effect on earlier
+-- strands, ie env' applied to s' in k would be a proper instance of
+-- mapping !! s' in k'.  
+
+matchStrandConservatively :: Preskel -> Preskel -> [Sid] -> (Gen, Env) -> Sid -> [(Gen, Env)]
+matchStrand k k' mapping env s =
+    L.filter (envDisjointExtension env)
+         $ matchTraces (trace (strandInst k s)) (trace (strandInst k' s')) env
     where
+      s' = mapping !! s        
+
+
+validateEnvReport :: Preskel -> Preskel -> [Sid] -> (Gen,Env) -> [(Gen,Env)]
+validateEnvReport k k' mapping (gen,env) =
+    case (validateEnv k k' mapping (gen,env)) of
+      [] -> z "invalid env" []
+      ges -> z (show $ L.length ges) ges
+
+--}
+
+validateEnv :: Preskel -> Preskel -> [Sid] -> (Gen,Env) -> [(Gen,Env)]
+validateEnv k k' mapping (gen,env) =
+    case (all (flip elem (knon k')) (map (instantiate env) (knon k)) &&
+          all (flip elem (kpnon k')) (map (instantiate env) (kpnon k)) &&
+          all (flip elem (kunique k')) (map (instantiate env) (kunique k)) &&
+          all (flip elem (kuniqgen k')) (map (instantiate env) (kuniqgen k)) &&
+          all (flip elem (kabsent k')) (map (instantiatePair env) (kabsent k)) &&
+          -- all (flip elem (kprecur k')) (map (permuteNode mapping) (kprecur k)) &&
+          all (flip elem (kgenSt k')) (map (instantiate env) (kgenSt k)) &&
+          validateEnvOrig k k' mapping env &&
+          (case normalizeOrderings True (permuteOrderings mapping (orderings k)) of 
+            [o] -> all (flip elem (tc k')) o
+            _ -> False) &&
+          all (flip elem (kfacts k'))
+                  (map (instUpdateFact env (mapping !!)) covered)) of
+      False -> []
+      True -> validateExtendEnv mapping (gen,env) uncovered (kfacts k')
+    where
       instantiatePair env (t1, t2) =
         (instantiate env t1, instantiate env t2)
+      ftermMatched (FSid _) = True
+      ftermMatched (FTerm t) = matched env t
+      factMatched (Fact _ fterms) = all ftermMatched fterms
+      (covered,uncovered) = L.partition factMatched (kfacts k)
 
+matchFact :: Fact -> Fact -> (Gen,Env) -> [(Gen,Env)]
+matchFact (Fact rel1 args1) (Fact rel2 args2) (gen,env) =
+    case rel1 == rel2 of
+      False -> []
+      True -> matchArgs args1 args2 (gen,env)
+    where
+      matchArgs [] [] (gen,env) = [(gen,env)]
+      matchArgs [] _ _ = []
+      matchArgs _ [] _ = []
+      matchArgs (a1 : rest1) (a2 : rest2) (gen,env) =
+          case (a1,a2) of
+            (FSid i, FSid j) -> if i == j then [(gen,env)] else []
+            (FSid _, _) -> []
+            (_, FSid _) -> []
+            (FTerm t1, FTerm t2) ->
+                do
+                  (g,e) <- match t1 t2 (gen,env)
+                  matchArgs rest1 rest2 (g,e) 
+
+validateExtendEnv :: [Sid] -> (Gen,Env) -> [Fact] -> [Fact] -> [(Gen,Env)]
+validateExtendEnv _ (gen,env) [] _ = [(gen,env)] 
+validateExtendEnv mapping (gen,env) (fact : uncoveredRest) targetFacts =
+    do
+      target <- targetFacts
+      (g,e) <- matchFact updFact target (gen,env)
+      validateExtendEnv mapping (g,e) uncoveredRest targetFacts 
+    where
+      updFact = updateFact (mapping !!) fact -- z "!!!!" $... 
+      
+ 
+                  
+
 {-- Degugging apparatus:
       allShowingFailingIndex _ [] = True
       allShowingFailingIndex i (True : rest) = allShowingFailingIndex (i+1) rest
@@ -2371,13 +2541,15 @@
 
 generalize :: Preskel -> [Candidate]
 generalize k =
-    (deleteNodes k' ++
-     forgetAssumption k' ++
-     weakenOrderings k' ++
-     (if useVariableSeparation
-      then (take separateVariablesLimit
-                     (separateVariables k'))
-      else []))
+    deleteNodes k' ++
+    if generalizeOnlyByDeletion then []
+    else 
+        (forgetAssumption k' ++
+         weakenOrderings k' ++
+         (if useVariableSeparation
+          then (take separateVariablesLimit
+                (separateVariables k'))
+          else []))
     where
       k' = withCoreFacts k
 
@@ -2435,32 +2607,57 @@
 
 deleteNodes :: Preskel -> [Candidate]
 deleteNodes k =
-    do
-      strand <- strands k
-      node <- nodes strand   
-      cand <- deleteNode k node
-      -- (withCoreFacts k)
-      --tShow1 (withCoreFacts k) (fst cand) (snd cand) `deepseq` tShow2 k (fst cand) (snd cand) `deepseq` tShow3 k (fst cand) (snd cand) `deepseq` 
-      return cand --return $ candWithCoreFacts cand
+    if generalizeDeleteOnlyListeners
+    -- if true, only listeners are
+    -- candidates for node deletion.
+    -- Recommended *only* to crank down
+    -- the burden of generalization 
+    then
+        do
+          str <- listeners k
+          node <- nodes str
+          cand <- deleteNode k node
+          return cand
+                  
+    else
+        do
+          str <- strands k
+          node <- nodes str   
+          cand <- deleteNode k node    
+          return cand  -- $ z ")" cand
+        
+{--
+-- $ z ("( " ++ (show $ (sid (strand node), pos node)))
 
-{- candWithCoreFacts :: Candidate -> Candidate
-candWithCoreFacts (k,sids) =
-    (withCoreFacts k, sids) -}
+-- (withCoreFacts k)
+--tShow1 (withCoreFacts k) (fst cand) (snd cand) `deepseq` tShow2 k (fst cand) (snd cand) `deepseq` tShow3 k (fst cand) (snd cand) `deepseq` 
+--}
 
+isListener :: Strand -> Bool
+isListener str =
+    case trace $ inst str of
+      [ (In (Plain t1)), (Out (Plain t2)) ] -> t1 == t2
+      _ -> False
+
+listeners :: Preskel -> [Strand] 
+listeners k = L.filter isListener $ strands k
+
 deleteNode :: Preskel -> Vertex -> [(Preskel, [Sid])]
 deleteNode k n
     | p == 0 && elem s (prob k) = []
     | p == 0 = 
       let mapping = deleteNth s (strandids k) in 
+      let _ =  () in 
       --let k1 = kShow "parent" 5 k
-      let k' = deleteNodeRest k (gen k) (s, p)
-                (deleteNth s (insts k))
-                (deleteOrderings s (tc k))
-                (updatePerm s s (prob k))
-                (map
-                  (updateFact (updateStrand s s))
-                  (deleteStrandFacts s $ kfacts k))
-                mapping in 
+      let k' = -- z "." $
+               deleteNodeRest k (gen k) (s, p)
+               (deleteNth s (insts k))
+               (deleteOrderings s (tc k))
+               (updatePerm s s (prob k))
+               (map
+                (updateFact (updateStrand s s))
+                (deleteStrandFacts s $ kfacts k))
+               mapping in 
       --let k'' = kShow "child" 4 k' 
       --let mapping' = zShow' "mapping" mapping 
       --tShow1 k k' mapping `deepseq` tShow2 k k' mapping `deepseq` tShow3 k k' mapping `deepseq` 
@@ -2483,7 +2680,7 @@
     | otherwise =
         do
           let mapping = strandids k
-          let i = inst (strand n)
+          let i = inst (strand n)   -- z "^" $ inst (strand n)
           (gen', i') <- bldInstance (role i) (take p (trace i)) (gen k)
           let k' = deleteNodeRest k gen' (s, p)
                    (replaceNth i' s (insts k))
@@ -2491,7 +2688,8 @@
                    (prob k)
                    (deleteNodeFacts s p (kfacts k))
                    mapping
-          return (k', mapping)
+          return (k', mapping)  -- $ z "v" (k', mapping)
+          
     where
       p = pos n
       s = sid (strand n)
@@ -2607,14 +2805,14 @@
             True ->
                 case (homomorphism k0 k (prob k)) of
                   [] -> k
-                  (env : _) ->  -- If there are multiple envs, this
-                                -- could mean that some don't extend
-                                -- under *simplify* to a result k1
-                                -- such that k0 -> k1 -> k.  The
-                                -- latter may have made a different
-                                -- choice of env in its facts.
-                                -- (Delete this if it turns out
-                                -- wrong.)
+                  ((_,env) : _) -> -- If there are multiple envs, this
+                                   -- could mean that some don't extend
+                                   -- under *simplify* to a result k1
+                                   -- such that k0 -> k1 -> k.  The
+                                   -- latter may have made a different
+                                   -- choice of env in its facts.
+                                   -- (Delete this if it turns out
+                                   -- wrong.)
                       k { kfacts =
                               map (instUpdateFact env (permOfSidList (prob k)))
                                       (kfacts k0) }
@@ -3026,18 +3224,29 @@
 -- Returns the environments that satisfy the antecedent
 -- but do not extend to satisfy any of the conclusions.
 --
-goalSat :: Preskel -> Goal -> (Goal, [(Gen, Env)])
-goalSat k g =
+counterExamples :: Preskel -> Goal -> (Goal, [(Gen, Env)])
+counterExamples k g =
   (g, [ (gen, e) |
         (gen, e) <- conjoin (antec g) k (gen k, emptyEnv),
-        conclusion (gen, e) ])
-  where
-    conclusion ge = all (disjunct ge) $ consq g
-    disjunct ge (ebvs,a) = null $ conjoinEbvs a ebvs k ge
+        envStrandsWithin e (prob k), 
+        not $ conclusionSucceeds (gen, e) ])
+    where
+      conclusionSucceeds ge =
+          any (disjunctSucceeds ge) $ consq g
+      disjunctSucceeds ge (ebvs,a) =
+          (not . null) $ conjoinEbvs a ebvs k ge
+      
 
-sat :: Preskel -> [(Goal, [(Gen, Env)])]
-sat k =
-  map (goalSat k) (kgoals k)
+                         
+goalCounterExamples :: Preskel -> [(Goal, [(Gen, Env)])]
+goalCounterExamples k =
+    L.foldr
+     (\goal soFar ->
+          case counterExamples k goal of
+            (_, []) -> soFar
+            (_, ges) -> (goal,ges) : soFar)
+     [] 
+     (kgoals k)
 
 -- Conjunction
 
@@ -3047,15 +3256,15 @@
 conjoin [] _ ge = [ge]
 conjoin (a: as) k ge =
   do
-    ge <- checkSem (satisfy a []) k ge
+    ge <- satisfy a [] k ge  -- checkSem
     conjoin as k ge
 
 conjoinEbvs :: [AForm] -> [Term] -> Sem
 conjoinEbvs [] _ _ ge = [ge]
 conjoinEbvs (a: as) ebvs k ge =
     do
-    ge <- checkSem (satisfy a ebvs) k ge
-    conjoinEbvs as ebvs k ge
+      ge' <- satisfy a ebvs k ge  -- checkSem             
+      conjoinEbvs as ebvs k ge'
 
 -- Suppose a gen-env pair ge that satisfies the antecedent of a goal,
 -- but does not extend to satisfy any of the disjuncts on the
@@ -3386,17 +3595,16 @@
       error ("In a rule equality check, " ++
              "cannot find a binding for some variable in " ++ (show t') ++
              "with ebvs " ++ (show ebvs))
-
-  | ti == ti' = [(g, e)]
-  | not (null ebvs) =
-      filter (\(_,e') ->      -- where all modified vars are ebvs
-                  envsAgreeOutside e e' ebvs)
-      (L.map (\(g,s) ->
-                 (g, substUpdate e s)) -- update the env with the
-                                       -- subst
-      $ unify t t' (g, emptySubst))
-
-  | otherwise = []
+  | otherwise =
+    case (matched e t, matched e t') of
+      (True, True) ->
+        case ti == ti' of
+          True -> [(g, e)]
+          False -> []
+      (False, True) -> match t ti' (g, e)
+      (True, False) -> match t' ti (g, e)
+      (False, False) ->
+        error ("Strand.geq: Both terms have unbound variables")
   where
     ti = instantiate e t
     ti' = instantiate e t'
@@ -4514,7 +4722,7 @@
         ns = nstrands k
     Nothing ->
       error ("In rule " ++ name ++
-             ", parameter predicate did not get a strand")
+             ", parameter predicate " ++ (show v) ++ " did not get a strand")
 
 rParam :: String -> Preskel -> (Gen, Env) ->
           Term -> Term -> [(Preskel, (Gen, Env))]
@@ -4822,17 +5030,39 @@
             error ("req:  indices too large, (" ++ (show s) ++ ", " ++ (show t) ++ " in env " ++ (show e))
       _ ->
         error ("In rule " ++ name ++ ", = did not get a strand")
-  | otherwise =
+  | u == v = [(k, (g, e))]
+  | otherwise = rUnify k (g, e) u v
+  where
+    u = if matched e x
+        then instantiate e x
+        else x
+
+    v = if matched e y
+        then instantiate e y 
+        else y 
+
+
+{-- 
+
+otherwise =
     case (matched e x, matched e y) of
       (True, True)
         | u == v -> [(k, (g, e))]
         | otherwise ->
           rUnify k (g, e) u v
-      _ ->
-        error ("In rule " ++ name ++ ", = did not get a term")
+      (False ,_) -> error ("In rule " ++ name ++
+                           ", = did not get a term fully instantiated for " ++
+                           (show x))
+      (_, False) -> error ("In rule " ++ name ++
+                              ", = did not get a term fully instantiated for " ++
+                              (show y))
+      -- _ ->
+      -- error ("In rule " ++ name ++ ", = did not get a term")
     where
-      u = instantiate e x
+      u = instantiate e x 
       v = instantiate e y
+
+--}
 
 rcommpair :: String -> NodeTerm -> NodeTerm -> Rewrite
 rcommpair name n n' k (g, e) =
diff --git a/tst/DH_hack.tst b/tst/DH_hack.tst
--- a/tst/DH_hack.tst
+++ b/tst/DH_hack.tst
@@ -1,6 +1,6 @@
 (herald "DH Hack" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/DH_hack.scm")
 (comment "Strand count bounded at 15")
 
@@ -40,6 +40,7 @@
        (enc x (enc cek (hash x (invk y))) (enc d cek) (privk gcs)))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((x x) (y y) (gcs gcs) (cek cek) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -60,6 +61,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((x x) (y y) (gcs gcs) (cek cek) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -125,6 +127,7 @@
        (enc x (enc cek (hash x (invk y))) (enc d cek) (privk gcs)))))
   (label 3)
   (unrealized (0 0))
+  (maps ((0) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -145,6 +148,7 @@
   (label 4)
   (parent 3)
   (unrealized (1 0))
+  (maps ((0) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -210,6 +214,7 @@
        (enc x (enc cek (hash x (invk y))) (enc d cek) (privk gcs)))))
   (label 6)
   (unrealized (0 0))
+  (maps ((0) ((cek cek) (y y) (gcs gcs) (x x) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -230,6 +235,7 @@
   (label 7)
   (parent 6)
   (unrealized (1 0))
+  (maps ((0) ((cek cek) (y y) (gcs gcs) (x x) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -296,6 +302,7 @@
     ((recv cek) (send cek)))
   (label 9)
   (unrealized (0 0))
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -318,6 +325,7 @@
   (label 10)
   (parent 9)
   (unrealized (2 0))
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -343,6 +351,7 @@
   (label 11)
   (parent 10)
   (unrealized (1 0))
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton DH_hack
@@ -368,6 +377,7 @@
   (label 12)
   (parent 11)
   (unrealized (1 0))
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton DH_hack
@@ -398,6 +408,7 @@
   (label 13)
   (parent 11)
   (unrealized (1 0) (4 0))
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -425,6 +436,7 @@
   (parent 11)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "empty cohort"))
 
 (defskeleton DH_hack
@@ -452,6 +464,7 @@
   (parent 12)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "empty cohort"))
 
 (defskeleton DH_hack
@@ -479,6 +492,7 @@
   (parent 12)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "empty cohort"))
 
 (defskeleton DH_hack
@@ -508,6 +522,7 @@
   (label 17)
   (parent 13)
   (unrealized (1 0))
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton DH_hack
@@ -540,6 +555,7 @@
   (parent 17)
   (unrealized (5 0))
   (dead)
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "empty cohort"))
 
 (defskeleton DH_hack
@@ -572,6 +588,7 @@
   (parent 17)
   (unrealized (5 0))
   (dead)
+  (maps ((0 1) ((cek cek) (x x) (y y) (gcs gcs) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -613,6 +630,7 @@
     ((recv cek) (send cek)))
   (label 20)
   (unrealized (0 0))
+  (maps ((0 1) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -635,6 +653,7 @@
   (label 21)
   (parent 20)
   (unrealized (2 0))
+  (maps ((0 1) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -660,6 +679,7 @@
   (label 22)
   (parent 21)
   (unrealized (1 0))
+  (maps ((0 1) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton DH_hack
@@ -717,6 +737,7 @@
   (label 24)
   (parent 22)
   (unrealized (4 0))
+  (maps ((0 1) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
@@ -744,6 +765,7 @@
   (parent 22)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((cek cek) (x x) (gcs gcs) (y y) (d d))))
   (comment "empty cohort"))
 
 (defskeleton DH_hack
@@ -816,6 +838,7 @@
     ((recv cek) (send cek)))
   (label 27)
   (unrealized (0 0))
+  (maps ((0 1) ((cek cek) (y y) (gcs gcs) (x x) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -838,6 +861,7 @@
   (label 28)
   (parent 27)
   (unrealized (2 0))
+  (maps ((0 1) ((cek cek) (y y) (gcs gcs) (x x) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton DH_hack
diff --git a/tst/Make4.hs b/tst/Make4.hs
deleted file mode 100644
--- a/tst/Make4.hs
+++ /dev/null
@@ -1,272 +0,0 @@
--- A simple, CPSA specific make system
-
-module Make (cpsa, shapes, sas, cleanse, get, set,
-             build, clean, roots) where
-
-{- Place a copy of this source file in the directory used to store
-CPSA problem statements, edit it to suit your needs, and load it into
-a Haskell interpreter.
-
-Normally, just the build and the clean command are used.  It's the
-build command that you usually modify.
-
-To analyze a problem in prob.scm, type:
-
-*Make> cpsa "prob"
-
-If successful, the analysis is in the file prob.xhtml, which can be
-viewed with a standards-compliant browser.
-
-For a shapes only version of the analysis, type:
-
-*Make> shapes "prob"
-
-If successful, the shapes are in the file prob_shapes.xhtml.
-
-*Make> sas "prob"
-
-If successful, the shape analysis sentences are in the file
-prob_sas.text.
-
-To remove the files generated from source files, type:
-
-*Make> cleanse "prob"
-
-To see the command-line options used by CPSA, type:
-
-*Make> get
-
-To change the command-line options used by CPSA to "-b 15", type:
-
-*Make> set "-b 15"
-
-To analyze all source files in the directory, type:
-
-*Make> build
-
-To remove the files generated from source files in the directory, type:
-
-*Make> clean
-
--}
-
-import Control.Monad (mapM_)
-import Data.List (sort)
-import Data.IORef (IORef, newIORef, readIORef, writeIORef)
-import System.Exit (ExitCode (..))
-import System.Process (system)
-import System.IO (putStrLn)
-import System.IO.Unsafe (unsafePerformIO)
-import System.FilePath (FilePath, splitExtension)
-import System.Directory (removeFile, doesFileExist, getModificationTime,
-                         getCurrentDirectory, getDirectoryContents)
-
--- Flags for CPSA
-
-initialCpsaFlags :: String
-initialCpsaFlags = "+RTS -M512m -RTS"
-
-graphFlags :: String
-graphFlags = ""
--- To enable zooming, use:
--- graphFlags = " -z"
-
--- A mutable location for CPSA flags
-cpsaFlags :: IORef String
-cpsaFlags = unsafePerformIO $ newIORef initialCpsaFlags
-
--- Get the CPSA flags
-get :: IO String
-get =
-    readIORef cpsaFlags
-
--- Set the CPSA flags
-set :: String -> IO ()
-set flags =
-    writeIORef cpsaFlags flags
-
--- Transformation rules
-
-data Rule = Rule
-    { prog :: String,           -- program to run
-      inputExt :: String,       -- input file name extension
-      outputExt :: String }     -- output file name extension
-
--- Graph Rule
-
-graph :: FilePath -> IO ()
-graph root =
-    make graphRule root         -- make graph using given rule
-
-graphRule :: Rule
-graphRule =
-    Rule { prog = "cpsa4graph" ++ graphFlags,
-           inputExt = cpsaExt,
-           outputExt = graphExt }
-
--- CPSA Rule
-
-cpsa :: FilePath -> IO ()
-cpsa root =
-    do
-      cpsaBasic root
-      shapes root
-      graph root
-
--- CPSA using Basic rule
-
-cpsaBasic :: FilePath -> IO ()
-cpsaBasic root =
-    do
-      flags <- get               -- get CPSA flags
-      make (cpsaBasicRule flags) root -- make CPSA output using given rule
-
-cpsaBasicRule :: String -> Rule
-cpsaBasicRule flags =
-    Rule { prog = "cpsa4 " ++ flags,
-           inputExt = sourceBasicExt,
-           outputExt = cpsaExt }
-
--- Shapes Rule
-
-shapes :: FilePath -> IO ()
-shapes root =
-    do
-      cpsaBasic root            -- Run CPSA if need be
-      make shapesRule root
-      graph $ root ++ shapesRoot
-
-shapesRule :: Rule
-shapesRule =
-    Rule { prog = "cpsa4shapes",
-           inputExt = cpsaExt,
-           outputExt = shapesRoot ++ cpsaExt }
-
--- SAS Rule
-
-sas :: FilePath -> IO ()
-sas root =
-    do
-      cpsaBasic root            -- Run CPSA if need be
-      make sasRule root
-
-sasRule :: Rule
-sasRule =
-    Rule { prog = "cpsa4sas",
-           inputExt = cpsaExt,
-           outputExt = sasExt }
-
--- Clean generated files
-
-cleanse :: FilePath -> IO ()
-cleanse root =
-    do
-      rm $ root ++ cpsaExt
-      rm $ root ++ graphExt
-      rm $ root ++ shapesRoot ++ cpsaExt
-      rm $ root ++ shapesRoot ++ graphExt
-      rm $ root ++ sasExt
-
--- File Extensions
-
-sourceBasicExt :: String
-sourceBasicExt = ".scm"
-
-cpsaExt :: String
-cpsaExt = ".txt"
-
-shapesRoot :: String
-shapesRoot = "_shapes"
-
-sasExt :: String
-sasExt = "_sas.text"
-
-graphExt :: String
-graphExt = ".xhtml"
-
--- Rule Interpreters
-
--- Make output for root using rule
-make :: Rule -> FilePath -> IO ()
-make rule root =
-    do
-      let input = root ++ inputExt rule
-      let output = root ++ outputExt rule
-      done <- made input output
-      case done of
-        True -> return ()       -- Nothing to do
-        False -> run (prog rule) input output
-
--- See if an output file is up-to-date
-made :: FilePath -> FilePath -> IO Bool
-made input output =
-    do
-      src <- doesFileExist input
-      dst <- doesFileExist output
-      case src && dst of
-        False -> return False
-        True ->
-            do
-              src <- getModificationTime input
-              dst <- getModificationTime output
-              return $ src < dst
-
--- Run a program with input and output from files
-
--- Print the command before running it.  Delete the output when the
--- command fails.
-run :: String -> FilePath -> FilePath -> IO ()
-run prog input output =
-    do
-      let cmd = prog ++ " -o " ++ output ++ " " ++ input
-      putStrLn cmd
-      code <- system cmd
-      case code of
-        ExitSuccess -> return ()
-        ExitFailure _ ->
-            do
-              --rm output
-              fail "Command failed"
-
--- Remove a file
-
--- Prints the command when there is a file to be deleted.
-rm :: FilePath -> IO ()
-rm output =
-    do
-      exists <- doesFileExist output
-      case exists of
-        False -> return ()      -- File doesn't exist
-        True ->
-            do                  -- Print command before removal
-              putStrLn $ "rm " ++ output
-              removeFile output
-
--- Return the roots of the CPSA source files in the current directory.
-
-roots :: [String] -> IO [FilePath]
-roots exts =
-    do
-      dir <- getCurrentDirectory
-      files <- getDirectoryContents dir
-      let roots = [ root |
-                    file <- files,
-                    let (root, ext) = splitExtension file,
-                    elem ext exts ] -- Filter for source files
-      return $ sort roots
-
--- Build the shapes for all the source files in the current directory.
-
-build :: IO ()
-build =
-    do
-      probs <- roots [sourceBasicExt]
-      mapM_ cpsa probs
-
--- Clean files generated for all the source files in the current directory.
-
-clean :: IO ()
-clean =
-    do
-      probs <- roots [sourceBasicExt]
-      mapM_ cleanse probs
diff --git a/tst/ab.tst b/tst/ab.tst
--- a/tst/ab.tst
+++ b/tst/ab.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ab.scm")
 
 (defprotocol ab basic
@@ -28,6 +28,7 @@
   (traces ((send (enc x k)) (recv (enc x x k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((x x) (k k))))
   (origs (x (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -46,6 +47,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (k k))))
   (comment "empty cohort"))
 
 (defskeleton ab
@@ -63,6 +65,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (k k))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/abc.tst b/tst/abc.tst
--- a/tst/abc.tst
+++ b/tst/abc.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/abc.scm")
 
 (defprotocol abc basic
@@ -31,6 +31,7 @@
   (traces ((send (enc x k)) (recv (enc x x k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((x x) (k k))))
   (origs (x (0 0)))
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -49,6 +50,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (k k))))
   (comment "empty cohort"))
 
 (defskeleton abc
@@ -66,6 +68,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (k k))))
   (comment "empty cohort"))
 
 (defskeleton abc
@@ -83,6 +86,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (k k))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/aik.tst b/tst/aik.tst
--- a/tst/aik.tst
+++ b/tst/aik.tst
@@ -1,6 +1,6 @@
 (herald "Anonymous identity protocol from TCG")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/aik.scm")
 
 (defprotocol aikprot basic
@@ -40,6 +40,7 @@
       (send (cat (enc "aic" i k x (privk pc)) (enc k (invk k) srk)))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((mf mf) (pc pc) (i i) (x x) (ek ek) (k k) (srk srk))))
   (origs ((invk k) (0 3)) (k (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -63,6 +64,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((mf mf) (pc pc) (i i) (x x) (ek ek) (k k) (srk srk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton aikprot
@@ -87,6 +89,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 2))
+  (maps ((0) ((mf mf) (pc pc) (i i) (x x) (ek ek) (k k) (srk srk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton aikprot
@@ -149,6 +152,7 @@
       (operation encryption-test (displaced 4 2 ca 1)
         (enc "ekc" mf-1 ek-1 (privk mf-1)) (3 0)) (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((mf mf) (pc pc) (i i) (x x) (ek ek) (k k) (srk srk))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -187,6 +191,7 @@
       (send (enc "aic" i k x (privk pc)))))
   (label 5)
   (unrealized (0 0))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -207,6 +212,7 @@
   (label 6)
   (parent 5)
   (unrealized (1 0))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton aikprot
@@ -228,6 +234,7 @@
   (label 7)
   (parent 6)
   (unrealized (0 0))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton aikprot
@@ -257,6 +264,7 @@
   (label 8)
   (parent 7)
   (unrealized (3 2))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton aikprot
@@ -287,6 +295,7 @@
       (operation encryption-test (displaced 4 2 ca 1)
         (enc "ekc" mf-0 ek-0 (privk mf-0)) (3 0)) (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton aikprot
@@ -349,6 +358,7 @@
   (label 11)
   (parent 8)
   (unrealized (4 0))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton aikprot
@@ -384,6 +394,7 @@
   (seen-ops
     (10 (operation generalization deleted (1 0)) (strand-map 0 2 3 4)))
   (realized)
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton aikprot
@@ -419,6 +430,7 @@
   (label 13)
   (parent 11)
   (unrealized (3 2))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton aikprot
@@ -454,6 +466,7 @@
   (label 14)
   (parent 13)
   (realized)
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton aikprot
@@ -490,6 +503,7 @@
   (label 15)
   (parent 13)
   (realized)
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton aikprot
@@ -537,6 +551,7 @@
         (enc "ekc" mf-2 ek-1 (privk mf-2)) (6 0))
       (strand-map 0 1 2 3 4 5 4)))
   (unrealized (6 0))
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton aikprot
@@ -570,6 +585,7 @@
   (seen-ops
     (10 (operation generalization deleted (1 0)) (strand-map 0 2 3 4)))
   (realized)
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton aikprot
@@ -604,6 +620,7 @@
   (seen-ops
     (10 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((i i) (x x) (pc pc) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/atomic-open-closed.tst b/tst/atomic-open-closed.tst
--- a/tst/atomic-open-closed.tst
+++ b/tst/atomic-open-closed.tst
@@ -1,6 +1,6 @@
 (herald atomic-open-closed (bound 44))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/atomic-open-closed.scm")
 (comment "Strand count bounded at 44")
 
@@ -41,75 +41,75 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-open
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
-          (p "dev-open" "k" z k))
+        (and (p "dev-open" "k" z k) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule gen-state-close
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
-          (p "dev-close" "k" z k))
+        (and (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
-          (p "dev-pass" "k" z k))
+        (and (p "dev-pass" "k" z k) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule intro-same-dev-up
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (and (p "dev-up" "ls" z ls) (p "dev-up" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-open
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (and (p "dev-open" "ls" z ls) (p "dev-open" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-close
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (and (p "dev-close" "ls" z ls) (p "dev-close" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-pass
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (and (p "dev-pass" "ls" z ls) (p "dev-pass" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defrule single-thread-up-up
     (forall ((x y strd) (lk locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
-          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (and (p "dev-up" y (idx 5)) (p "dev-up" x (idx 5))
+          (p "dev-up" "lk" y lk) (p "dev-up" "lk" x lk))
         (or
           (= x y)
           (prec x (idx 4) y (idx 1))
@@ -117,20 +117,20 @@
   (defrule single-thread-up-open
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
-          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (and (p "dev-open" y (idx 4)) (p "dev-up" x (idx 5))
+          (p "dev-open" "ls" y ls) (p "dev-up" "ls" x ls))
         (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-up-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
-          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-up" x (idx 5))
+          (p "dev-close" "ls" y ls) (p "dev-up" "ls" x ls))
         (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-open-open
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
-          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (and (p "dev-open" y (idx 4)) (p "dev-open" x (idx 4))
+          (p "dev-open" "ls" y ls) (p "dev-open" "ls" x ls))
         (or
           (= x y)
           (prec x (idx 3) y (idx 1))
@@ -138,14 +138,14 @@
   (defrule single-thread-ls-open-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
-          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-open" x (idx 4))
+          (p "dev-close" "ls" y ls) (p "dev-open" "ls" x ls))
         (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-close-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
-          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-close" x (idx 4))
+          (p "dev-close" "ls" y ls) (p "dev-close" "ls" x ls))
         (or
           (= x y)
           (prec x (idx 3) y (idx 1))
@@ -153,8 +153,8 @@
   (defrule atomic-up-pass
     (forall ((x y strd) (lk locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
-          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+        (and (p "dev-pass" y (idx 3)) (p "dev-up" x (idx 5))
+          (p "dev-pass" "lk" y lk) (p "dev-up" "lk" x lk)
           (prec x (idx 2) y (idx 1)))
         (prec x (idx 4) y (idx 1)))))
   (defrule dev-up-completes
@@ -235,9 +235,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -298,6 +297,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -313,6 +313,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -342,6 +343,7 @@
   (parent 1)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -383,75 +385,75 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-open
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
-          (p "dev-open" "k" z k))
+        (and (p "dev-open" "k" z k) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule gen-state-close
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
-          (p "dev-close" "k" z k))
+        (and (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
-          (p "dev-pass" "k" z k))
+        (and (p "dev-pass" "k" z k) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule intro-same-dev-up
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (and (p "dev-up" "ls" z ls) (p "dev-up" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-open
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (and (p "dev-open" "ls" z ls) (p "dev-open" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-close
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (and (p "dev-close" "ls" z ls) (p "dev-close" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-pass
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (and (p "dev-pass" "ls" z ls) (p "dev-pass" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defrule single-thread-up-up
     (forall ((x y strd) (lk locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
-          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (and (p "dev-up" y (idx 5)) (p "dev-up" x (idx 5))
+          (p "dev-up" "lk" y lk) (p "dev-up" "lk" x lk))
         (or
           (= x y)
           (prec x (idx 4) y (idx 1))
@@ -459,20 +461,20 @@
   (defrule single-thread-up-open
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
-          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (and (p "dev-open" y (idx 4)) (p "dev-up" x (idx 5))
+          (p "dev-open" "ls" y ls) (p "dev-up" "ls" x ls))
         (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-up-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
-          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-up" x (idx 5))
+          (p "dev-close" "ls" y ls) (p "dev-up" "ls" x ls))
         (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-open-open
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
-          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (and (p "dev-open" y (idx 4)) (p "dev-open" x (idx 4))
+          (p "dev-open" "ls" y ls) (p "dev-open" "ls" x ls))
         (or
           (= x y)
           (prec x (idx 3) y (idx 1))
@@ -480,14 +482,14 @@
   (defrule single-thread-ls-open-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
-          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-open" x (idx 4))
+          (p "dev-close" "ls" y ls) (p "dev-open" "ls" x ls))
         (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-close-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
-          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-close" x (idx 4))
+          (p "dev-close" "ls" y ls) (p "dev-close" "ls" x ls))
         (or
           (= x y)
           (prec x (idx 3) y (idx 1))
@@ -495,8 +497,8 @@
   (defrule atomic-up-pass
     (forall ((x y strd) (lk locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
-          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+        (and (p "dev-pass" y (idx 3)) (p "dev-up" x (idx 5))
+          (p "dev-pass" "lk" y lk) (p "dev-up" "lk" x lk)
           (prec x (idx 2) y (idx 1)))
         (prec x (idx 4) y (idx 1)))))
   (defrule dev-up-completes
@@ -577,9 +579,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -638,6 +639,7 @@
       (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
   (label 3)
   (realized)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "Not closed under rules"))
 
@@ -654,12 +656,13 @@
   (label 4)
   (parent 3)
   (unrealized (0 1) (0 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (old old1 mesg) (k skey) (n text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls))
@@ -683,11 +686,12 @@
   (label 5)
   (parent 4)
   (unrealized (0 2) (1 0))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (old old1 mesg) (k skey) (n text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls))
@@ -712,6 +716,7 @@
   (label 6)
   (parent 5)
   (unrealized (0 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
@@ -749,11 +754,12 @@
   (label 7)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
@@ -828,75 +834,75 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-open
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
-          (p "dev-open" "k" z k))
+        (and (p "dev-open" "k" z k) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule gen-state-close
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
-          (p "dev-close" "k" z k))
+        (and (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o k mesg))
       (implies
-        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
-          (p "dev-pass" "k" z k))
+        (and (p "dev-pass" "k" z k) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d))
         (gen-st (cat "st-k" d o k)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule intro-same-dev-up
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (and (p "dev-up" "ls" z ls) (p "dev-up" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-open
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (and (p "dev-open" "ls" z ls) (p "dev-open" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-close
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (and (p "dev-close" "ls" z ls) (p "dev-close" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule intro-same-dev-pass
     (forall ((z strd) (lk ls locn))
       (implies
-        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (and (p "dev-pass" "ls" z ls) (p "dev-pass" "lk" z lk))
         (fact same-dev ls lk))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defrule single-thread-up-up
     (forall ((x y strd) (lk locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
-          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (and (p "dev-up" y (idx 5)) (p "dev-up" x (idx 5))
+          (p "dev-up" "lk" y lk) (p "dev-up" "lk" x lk))
         (or
           (= x y)
           (prec x (idx 4) y (idx 1))
@@ -904,20 +910,20 @@
   (defrule single-thread-up-open
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
-          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (and (p "dev-open" y (idx 4)) (p "dev-up" x (idx 5))
+          (p "dev-open" "ls" y ls) (p "dev-up" "ls" x ls))
         (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-up-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
-          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-up" x (idx 5))
+          (p "dev-close" "ls" y ls) (p "dev-up" "ls" x ls))
         (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-open-open
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
-          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (and (p "dev-open" y (idx 4)) (p "dev-open" x (idx 4))
+          (p "dev-open" "ls" y ls) (p "dev-open" "ls" x ls))
         (or
           (= x y)
           (prec x (idx 3) y (idx 1))
@@ -925,14 +931,14 @@
   (defrule single-thread-ls-open-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
-          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-open" x (idx 4))
+          (p "dev-close" "ls" y ls) (p "dev-open" "ls" x ls))
         (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
   (defrule single-thread-close-close
     (forall ((x y strd) (ls locn))
       (implies
-        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
-          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (and (p "dev-close" y (idx 4)) (p "dev-close" x (idx 4))
+          (p "dev-close" "ls" y ls) (p "dev-close" "ls" x ls))
         (or
           (= x y)
           (prec x (idx 3) y (idx 1))
@@ -940,8 +946,8 @@
   (defrule atomic-up-pass
     (forall ((x y strd) (lk locn))
       (implies
-        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
-          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+        (and (p "dev-pass" y (idx 3)) (p "dev-up" x (idx 5))
+          (p "dev-pass" "lk" y lk) (p "dev-up" "lk" x lk)
           (prec x (idx 2) y (idx 1)))
         (prec x (idx 4) y (idx 1)))))
   (defrule dev-up-completes
@@ -1022,9 +1028,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1088,6 +1093,10 @@
   (label 9)
   (unrealized (0 1) (1 0) (1 1))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -1106,6 +1115,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 1) (1 0) (1 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -1127,6 +1140,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -1151,6 +1168,10 @@
   (label 12)
   (parent 11)
   (unrealized (0 1) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
@@ -1174,12 +1195,16 @@
   (label 13)
   (parent 11)
   (unrealized (0 1) (1 1) (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (old old1 mesg) (k skey) (n text) (d o d-0 o-0 name)
     (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch start-ch-0 chan)
-    (lk ls locn))
+    (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
@@ -1207,6 +1232,10 @@
   (label 14)
   (parent 12)
   (unrealized (0 1) (1 2) (3 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
@@ -1242,11 +1271,15 @@
   (parent 13)
   (unrealized (0 1) (1 1) (1 2) (2 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d-0) (o o-0) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton atomic-open-closed
   (vars (old old1 mesg) (k skey) (n text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
@@ -1272,6 +1305,10 @@
   (label 16)
   (parent 14)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
@@ -1310,11 +1347,15 @@
   (label 17)
   (parent 16)
   (unrealized (0 1) (4 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
@@ -1347,11 +1388,15 @@
   (label 18)
   (parent 17)
   (unrealized (0 1) (3 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
@@ -1383,11 +1428,15 @@
   (label 19)
   (parent 18)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
@@ -1419,6 +1468,10 @@
   (label 20)
   (parent 18)
   (unrealized (0 1) (5 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
@@ -1466,7 +1519,7 @@
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
@@ -1499,87 +1552,98 @@
   (label 22)
   (parent 19)
   (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
   (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
     (ls ls))
-  (deflistener k)
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls))
-  (precedes ((0 0) (5 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 1) (3 0))
-    ((5 4) (4 0)))
+  (deflistener k)
+  (precedes ((0 0) (4 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 4) (5 0))
+    ((5 1) (3 0)))
   (uniq-orig k n)
   (gen-st (cat "st" d o o) (cat "st-k" d o k))
   (conf start-ch)
   (auth start-ch)
   (facts (same-dev ls lk))
-  (leads-to ((3 3) (1 2)) ((5 2) (1 1)) ((5 2) (3 1)))
+  (leads-to ((3 3) (1 2)) ((4 2) (1 1)) ((4 2) (3 1)))
   (rule dev-up-atomic2 dev-up-completes intro-same-dev-up
     power-deliver-once trRl_dev-up-at-1 trRl_dev-up-at-2)
   (operation nonce-test (added-strand dev-up 3) k (5 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 2 3 5 4)
+  (strand-map 0 1 2 3 4 5)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
     ((recv (enc "may I pass" k)) (load lk (cat pt-2 "st-k" d o k))
       (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
     ((send (enc "may I pass" k)))
     ((recv (enc "open" d o n-0 k)) (load lk (cat pt-2 "st-k" d o k))
       (load ls (cat pt-0 "st" d any)) (stor ls (cat pt "st" d o o)))
-    ((recv k) (send k))
     ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
       (stor lk (cat pt-2 "st-k" d o k)) (load ls (cat pt-3 old1))
-      (stor ls (cat pt-4 "st" d o))))
+      (stor ls (cat pt-4 "st" d o))) ((recv k) (send k)))
   (label 23)
   (parent 20)
-  (unrealized (0 1) (4 0))
+  (unrealized (0 1) (5 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton atomic-open-closed
   (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
-    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand user-pass 1 (k k))
   (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
     (ls ls))
-  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
-  (deflistener k)
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls))
-  (precedes ((0 0) (6 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 0) (3 0))
-    ((5 1) (0 1)) ((6 4) (3 1)) ((6 4) (5 0)))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (4 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 4) (3 1))
+    ((4 4) (6 0)) ((5 0) (3 0)) ((6 1) (0 1)))
   (uniq-orig k n)
   (gen-st (cat "st" d o o) (cat "st-k" d o k))
   (conf start-ch)
   (auth start-ch)
   (facts (same-dev ls lk))
-  (leads-to ((3 3) (1 2)) ((6 2) (1 1)) ((6 2) (3 1)))
+  (leads-to ((3 3) (1 2)) ((4 2) (1 1)) ((4 2) (3 1)))
   (rule dev-up-atomic2 dev-up-completes intro-same-dev-up
     power-deliver-once trRl_dev-up-at-1 trRl_dev-up-at-2)
   (operation nonce-test (added-strand dev-up 3) k (6 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 2 3 5 6 4)
+  (strand-map 0 1 2 3 4 5 6)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
     ((recv (enc "may I pass" k)) (load lk (cat pt-2 "st-k" d o k))
       (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
     ((send (enc "may I pass" k)))
     ((recv (enc "open" d o n-0 k)) (load lk (cat pt-2 "st-k" d o k))
       (load ls (cat pt-0 "st" d any)) (stor ls (cat pt "st" d o o)))
-    ((send (enc "open" d o n-0 k))) ((recv k) (send k))
     ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
       (stor lk (cat pt-2 "st-k" d o k)) (load ls (cat pt-3 old1))
-      (stor ls (cat pt-4 "st" d o))))
+      (stor ls (cat pt-4 "st" d o))) ((send (enc "open" d o n-0 k)))
+    ((recv k) (send k)))
   (label 24)
   (parent 22)
-  (unrealized (5 0))
+  (unrealized (6 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/attest.tst b/tst/attest.tst
--- a/tst/attest.tst
+++ b/tst/attest.tst
@@ -1,6 +1,6 @@
 (herald attest-door)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/attest.scm")
 
 (defprotocol attest-door basic
@@ -49,6 +49,7 @@
       (send (enc (enc k (invk p)) d)) (recv (enc t k)) (send t)))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (origs (k (0 2)) (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -59,6 +60,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (rule yes)
   (operation nonce-test (added-strand appraise 2) n (0 1)
     (enc (enc d n (invk p)) a))
@@ -70,6 +72,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 3))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton attest-door
@@ -80,6 +83,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation encryption-test (added-strand door 2) (enc t k) (0 3))
   (strand-map 0 1)
   (traces
@@ -90,6 +94,7 @@
   (label 2)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton attest-door
@@ -100,6 +105,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (operation encryption-test (added-listener k) (enc t k) (0 3))
   (strand-map 0 1)
   (traces
@@ -110,6 +116,7 @@
   (label 3)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door
@@ -120,6 +127,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation nonce-test (contracted (d-0 d) (p-0 p)) k (2 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1 2)
@@ -145,6 +153,7 @@
     ((3 1) (2 0)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation nonce-test (added-strand squealer 2) k (2 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1 2)
@@ -157,6 +166,7 @@
   (label 5)
   (parent 2)
   (realized)
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door
@@ -169,6 +179,7 @@
     ((3 1) (2 0)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (operation nonce-test (added-strand squealer 2) k (2 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1 2)
@@ -180,6 +191,7 @@
   (label 6)
   (parent 3)
   (realized)
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door
@@ -190,6 +202,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation generalization deleted (2 0))
   (strand-map 0 1 3)
   (traces
@@ -202,6 +215,7 @@
   (seen 8)
   (seen-ops (8 (operation generalization forgot t) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton attest-door
@@ -212,6 +226,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (operation generalization deleted (2 0))
   (strand-map 0 1 3)
   (traces
@@ -272,6 +287,7 @@
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t)))
   (label 9)
   (unrealized (0 0))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (origs (t (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -282,6 +298,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (invk p) (invk d))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (operation encryption-test (added-strand person 3) (enc k (invk p))
     (0 0))
   (strand-map 0)
@@ -327,8 +344,8 @@
   (defrule trust
     (forall ((z w strd) (d akey))
       (implies
-        (and (p "appraise" z (idx 2)) (p "appraise" "d" z d)
-          (p "squealer" w (idx 2)) (p "squealer" "d" w d))
+        (and (p "squealer" w (idx 2)) (p "appraise" z (idx 2))
+          (p "squealer" "d" w d) (p "appraise" "d" z d))
         (false)))
     (comment "Passing attestation means not a squealer"))
   (defgenrule neqRl_indx
@@ -350,6 +367,7 @@
       (send (enc (enc k (invk p)) d)) (recv (enc t k)) (send t)))
   (label 11)
   (unrealized (0 1))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (origs (k (0 2)) (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -360,6 +378,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (rule yes)
   (operation nonce-test (added-strand appraise 2) n (0 1)
     (enc (enc d n (invk p)) a))
@@ -371,6 +390,7 @@
   (label 12)
   (parent 11)
   (unrealized (0 3))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton attest-door-trust
@@ -381,6 +401,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation encryption-test (added-strand door 2) (enc t k) (0 3))
   (strand-map 0 1)
   (traces
@@ -391,6 +412,7 @@
   (label 13)
   (parent 12)
   (unrealized (2 0))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door-trust
@@ -401,6 +423,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (operation encryption-test (added-listener k) (enc t k) (0 3))
   (strand-map 0 1)
   (traces
@@ -412,6 +435,7 @@
   (parent 12)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "empty cohort"))
 
 (defskeleton attest-door-trust
@@ -422,6 +446,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation nonce-test (contracted (d-0 d) (p-0 p)) k (2 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1 2)
@@ -469,8 +494,8 @@
   (defrule trust
     (forall ((z w strd) (d akey))
       (implies
-        (and (p "appraise" z (idx 2)) (p "appraise" "d" z d)
-          (p "squealer" w (idx 2)) (p "squealer" "d" w d))
+        (and (p "squealer" w (idx 2)) (p "appraise" z (idx 2))
+          (p "squealer" "d" w d) (p "appraise" "d" z d))
         (false)))
     (comment "Passing attestation means not a squealer"))
   (defgenrule neqRl_indx
@@ -490,6 +515,7 @@
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t)))
   (label 16)
   (unrealized (0 0))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (origs (t (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -500,6 +526,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (invk p) (invk d))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (operation encryption-test (added-strand person 3) (enc k (invk p))
     (0 0))
   (strand-map 0)
@@ -545,15 +572,15 @@
   (defrule trust
     (forall ((z w strd) (d akey))
       (implies
-        (and (p "appraise" z (idx 2)) (p "appraise" "d" z d)
-          (p "squealer" w (idx 2)) (p "squealer" "d" w d))
+        (and (p "squealer" w (idx 2)) (p "appraise" z (idx 2))
+          (p "squealer" "d" w d) (p "appraise" "d" z d))
         (false)))
     (comment "Passing attestation means not a squealer"))
   (defrule uncompromised-people-choose-uncompromised-appraisers
     (forall ((z strd) (a p akey))
       (implies
-        (and (p "person" z (idx 3)) (p "person" "p" z p)
-          (p "person" "a" z a) (non (invk p)))
+        (and (p "person" z (idx 3)) (p "person" "a" z a)
+          (p "person" "p" z p) (non (invk p)))
         (non (invk a)))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -575,6 +602,7 @@
       (send (enc (enc k (invk p)) d)) (recv (enc t k)) (send t)))
   (label 18)
   (unrealized (0 1))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (origs (k (0 2)) (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -585,6 +613,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (rule yes)
   (operation nonce-test (added-strand appraise 2) n (0 1)
     (enc (enc d n (invk p)) a))
@@ -596,6 +625,7 @@
   (label 19)
   (parent 18)
   (unrealized (0 3))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton attest-door-trust-attest
@@ -606,6 +636,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation encryption-test (added-strand door 2) (enc t k) (0 3))
   (strand-map 0 1)
   (traces
@@ -616,6 +647,7 @@
   (label 20)
   (parent 19)
   (unrealized (2 0))
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door-trust-attest
@@ -626,6 +658,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n)
+  (comment "Analyze from the person's perspective")
   (operation encryption-test (added-listener k) (enc t k) (0 3))
   (strand-map 0 1)
   (traces
@@ -637,6 +670,7 @@
   (parent 19)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((p p) (a a) (d d) (k k) (n n) (t t))))
   (comment "empty cohort"))
 
 (defskeleton attest-door-trust-attest
@@ -647,6 +681,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))
   (non-orig (invk p) (invk a) (invk d))
   (uniq-orig k n t)
+  (comment "Analyze from the person's perspective")
   (operation nonce-test (contracted (d-0 d) (p-0 p)) k (2 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1 2)
@@ -694,15 +729,15 @@
   (defrule trust
     (forall ((z w strd) (d akey))
       (implies
-        (and (p "appraise" z (idx 2)) (p "appraise" "d" z d)
-          (p "squealer" w (idx 2)) (p "squealer" "d" w d))
+        (and (p "squealer" w (idx 2)) (p "appraise" z (idx 2))
+          (p "squealer" "d" w d) (p "appraise" "d" z d))
         (false)))
     (comment "Passing attestation means not a squealer"))
   (defrule uncompromised-people-choose-uncompromised-appraisers
     (forall ((z strd) (a p akey))
       (implies
-        (and (p "person" z (idx 3)) (p "person" "p" z p)
-          (p "person" "a" z a) (non (invk p)))
+        (and (p "person" z (idx 3)) (p "person" "a" z a)
+          (p "person" "p" z p) (non (invk p)))
         (non (invk a)))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -722,6 +757,7 @@
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t)))
   (label 23)
   (unrealized (0 0))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (origs (t (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -732,6 +768,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (invk p) (invk d) (invk a))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (rule uncompromised-people-choose-uncompromised-appraisers)
   (operation encryption-test (added-strand person 3) (enc k (invk p))
     (0 0))
@@ -742,6 +779,7 @@
   (label 24)
   (parent 23)
   (unrealized (1 1))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door-trust-attest
@@ -752,6 +790,7 @@
   (precedes ((1 0) (2 0)) ((1 2) (0 0)) ((2 1) (1 1)))
   (non-orig (invk p) (invk d) (invk d-0) (invk a))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (rule yes)
   (operation nonce-test (added-strand appraise 2) n (1 1)
     (enc (enc d-0 n (invk p)) a))
@@ -763,6 +802,7 @@
   (label 25)
   (parent 24)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton attest-door-trust-attest
@@ -773,6 +813,7 @@
   (precedes ((1 0) (2 0)) ((1 2) (0 0)) ((2 1) (1 1)))
   (non-orig (invk p) (invk d) (invk a))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (operation encryption-test (contracted (d-0 d)) (enc k (invk p)) (0 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1 2)
@@ -783,6 +824,7 @@
   (label 26)
   (parent 25)
   (unrealized (0 2))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton attest-door-trust-attest
@@ -794,6 +836,7 @@
     ((2 4) (0 2)))
   (non-orig (invk d) (invk p) (invk a))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (operation nonce-test (displaced 1 3 person 5) t (0 2) (enc t k))
   (strand-map 0 2 1)
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t))
@@ -817,6 +860,7 @@
     ((3 1) (0 2)))
   (non-orig (invk p) (invk d) (invk a))
   (uniq-orig k t n)
+  (comment "Analyze from the door's perspective")
   (operation nonce-test (added-listener k) t (0 2) (enc t k))
   (strand-map 0 1 2)
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t))
@@ -828,6 +872,7 @@
   (parent 26)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/auth-enc.tst b/tst/auth-enc.tst
--- a/tst/auth-enc.tst
+++ b/tst/auth-enc.tst
@@ -1,6 +1,6 @@
 (herald auth-enc)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/auth-enc.scm")
 
 (defprotocol auth-enc basic
@@ -28,6 +28,7 @@
   (traces ((recv ch (enc n k)) (recv ch (cat n k))))
   (label 0)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((ch ch) (n n) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -46,6 +47,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((ch ch) (n n) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton auth-enc
diff --git a/tst/auth-hash.tst b/tst/auth-hash.tst
--- a/tst/auth-hash.tst
+++ b/tst/auth-hash.tst
@@ -1,6 +1,6 @@
 (herald auth-hash)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/auth-hash.scm")
 
 (defprotocol auth-hash basic
@@ -28,6 +28,7 @@
   (traces ((recv ch (hash n)) (recv ch n)))
   (label 0)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((ch ch) (n n))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -44,6 +45,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((ch ch) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton auth-hash
diff --git a/tst/blanchet-strandmax.tst b/tst/blanchet-strandmax.tst
--- a/tst/blanchet-strandmax.tst
+++ b/tst/blanchet-strandmax.tst
@@ -1,7 +1,7 @@
 (herald "Blanchet's Simple Example Protocol (strand max)"
   (comment "There is a flaw in this protocol by design"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/blanchet-strandmax.scm")
 
 (defprotocol blanchet-max basic
@@ -28,6 +28,7 @@
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -38,6 +39,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -45,6 +47,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max
@@ -54,6 +57,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -62,6 +66,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-max
@@ -71,6 +76,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (privk a)) (pubk b)))
   (strand-map 0 1)
@@ -111,6 +117,7 @@
     ((recv d) (send d)))
   (label 4)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -122,6 +129,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -130,6 +138,7 @@
   (label 5)
   (parent 4)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max
@@ -140,6 +149,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -148,6 +158,7 @@
   (parent 4)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-max
@@ -158,6 +169,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (2 0)
     (enc (enc s (privk a)) (pubk b)))
   (strand-map 0 1 2)
@@ -167,6 +179,7 @@
   (label 7)
   (parent 5)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max
@@ -179,6 +192,7 @@
     ((3 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -189,6 +203,7 @@
   (parent 7)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -217,6 +232,7 @@
   (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s))))
   (label 9)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -227,6 +243,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s (privk a))
     (0 0))
   (strand-map 0)
@@ -268,6 +285,7 @@
   (label 11)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "Not a skeleton"))
 
@@ -278,11 +296,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))
     ((recv d) (send d)))
   (label 12)
   (parent 11)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -294,6 +314,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation encryption-test (added-strand init 1) (enc s (privk a))
     (0 0))
   (strand-map 0 1)
@@ -332,6 +353,7 @@
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s))))
   (label 14)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -342,6 +364,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -349,6 +372,7 @@
   (label 15)
   (parent 14)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-akey
@@ -358,6 +382,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -366,6 +391,7 @@
   (parent 14)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-max-akey
@@ -375,6 +401,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1)
@@ -415,6 +442,7 @@
     ((recv d) (send d)))
   (label 18)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -426,6 +454,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -434,6 +463,7 @@
   (label 19)
   (parent 18)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-akey
@@ -444,6 +474,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -452,6 +483,7 @@
   (parent 18)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-max-akey
@@ -462,6 +494,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (2 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1 2)
@@ -471,6 +504,7 @@
   (label 21)
   (parent 19)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-akey
@@ -483,6 +517,7 @@
     ((3 1) (1 0)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -493,6 +528,7 @@
   (parent 21)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -521,6 +557,7 @@
   (traces ((recv (enc (enc s (invk a)) b)) (send (enc d s))))
   (label 23)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -531,6 +568,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s (invk a))
     (0 0))
   (strand-map 0)
@@ -572,6 +610,7 @@
   (label 25)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "Not a skeleton"))
 
@@ -582,11 +621,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (traces ((recv (enc (enc s (invk a)) b)) (send (enc d s)))
     ((recv d) (send d)))
   (label 26)
   (parent 25)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -598,6 +639,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation encryption-test (added-strand init 1) (enc s (invk a))
     (0 0))
   (strand-map 0 1)
@@ -636,6 +678,7 @@
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s))))
   (label 28)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -646,6 +689,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -653,6 +697,7 @@
   (label 29)
   (parent 28)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-fixed
@@ -662,6 +707,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -670,6 +716,7 @@
   (parent 28)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-max-fixed
@@ -679,6 +726,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s b (privk a)) (pubk b)))
   (strand-map 0 1)
@@ -719,6 +767,7 @@
     ((recv d) (send d)))
   (label 32)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -730,6 +779,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -738,6 +788,7 @@
   (label 33)
   (parent 32)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-fixed
@@ -748,6 +799,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -756,6 +808,7 @@
   (parent 32)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-max-fixed
@@ -766,6 +819,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (2 0)
     (enc (enc s b (privk a)) (pubk b)))
   (strand-map 0 1 2)
@@ -775,6 +829,7 @@
   (label 35)
   (parent 33)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-fixed
@@ -787,6 +842,7 @@
     ((3 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -797,6 +853,7 @@
   (parent 35)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -825,6 +882,7 @@
   (traces ((recv (enc (enc s b (privk a)) (pubk b))) (send (enc d s))))
   (label 37)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -835,6 +893,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s b (privk a))
     (0 0))
   (strand-map 0)
@@ -876,6 +935,7 @@
   (label 39)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "Not a skeleton"))
 
@@ -886,11 +946,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (traces ((recv (enc (enc s b (privk a)) (pubk b))) (send (enc d s)))
     ((recv d) (send d)))
   (label 40)
   (parent 39)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -902,6 +964,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation encryption-test (added-strand init 1) (enc s b (privk a))
     (0 0))
   (strand-map 0 1)
@@ -910,6 +973,7 @@
   (label 41)
   (parent 40)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-max-fixed
@@ -921,6 +985,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((recv (enc (enc s b (privk a)) (pubk b))) (send (enc d s)))
@@ -930,6 +995,7 @@
   (parent 41)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/blanchet.tst b/tst/blanchet.tst
--- a/tst/blanchet.tst
+++ b/tst/blanchet.tst
@@ -1,7 +1,7 @@
 (herald "Blanchet's Simple Example Protocol"
   (comment "There is a flaw in this protocol by design"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/blanchet.scm")
 
 (defprotocol blanchet basic
@@ -28,6 +28,7 @@
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -38,6 +39,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -45,6 +47,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -54,6 +57,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -62,6 +66,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet
@@ -71,6 +76,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (privk a)) (pubk b)))
   (strand-map 0 1)
@@ -111,6 +117,7 @@
     ((recv d) (send d)))
   (label 4)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -122,6 +129,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -130,6 +138,7 @@
   (label 5)
   (parent 4)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -140,6 +149,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -148,6 +158,7 @@
   (parent 4)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet
@@ -158,6 +169,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (2 0)
     (enc (enc s (privk a)) (pubk b)))
   (strand-map 0 1 2)
@@ -167,6 +179,7 @@
   (label 7)
   (parent 5)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -179,6 +192,7 @@
     ((3 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((send (enc (enc s (privk a)) (pubk b))) (recv (enc d s)))
@@ -189,6 +203,7 @@
   (parent 7)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -217,6 +232,7 @@
   (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s))))
   (label 9)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -227,6 +243,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s (privk a))
     (0 0))
   (strand-map 0)
@@ -268,6 +285,7 @@
   (label 11)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "Not a skeleton"))
 
@@ -278,11 +296,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (traces ((recv (enc (enc s (privk a)) (pubk b))) (send (enc d s)))
     ((recv d) (send d)))
   (label 12)
   (parent 11)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -294,6 +314,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation encryption-test (added-strand init 1) (enc s (privk a))
     (0 0))
   (strand-map 0 1)
@@ -332,6 +353,7 @@
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s))))
   (label 14)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -342,6 +364,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -349,6 +372,7 @@
   (label 15)
   (parent 14)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-akey
@@ -358,6 +382,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -366,6 +391,7 @@
   (parent 14)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-akey
@@ -375,6 +401,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1)
@@ -415,6 +442,7 @@
     ((recv d) (send d)))
   (label 18)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -426,6 +454,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -434,6 +463,7 @@
   (label 19)
   (parent 18)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-akey
@@ -444,6 +474,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -452,6 +483,7 @@
   (parent 18)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-akey
@@ -462,6 +494,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (2 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1 2)
@@ -471,6 +504,7 @@
   (label 21)
   (parent 19)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-akey
@@ -483,6 +517,7 @@
     ((3 1) (1 0)))
   (non-orig (invk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -493,6 +528,7 @@
   (parent 21)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -521,6 +557,7 @@
   (traces ((recv (enc (enc s (invk a)) b)) (send (enc d s))))
   (label 23)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -531,6 +568,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s (invk a))
     (0 0))
   (strand-map 0)
@@ -572,6 +610,7 @@
   (label 25)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "Not a skeleton"))
 
@@ -582,11 +621,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (traces ((recv (enc (enc s (invk a)) b)) (send (enc d s)))
     ((recv d) (send d)))
   (label 26)
   (parent 25)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -598,6 +639,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation encryption-test (added-strand init 1) (enc s (invk a))
     (0 0))
   (strand-map 0 1)
@@ -636,6 +678,7 @@
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s))))
   (label 28)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -646,6 +689,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -653,6 +697,7 @@
   (label 29)
   (parent 28)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-fixed
@@ -662,6 +707,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -670,6 +716,7 @@
   (parent 28)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-fixed
@@ -679,6 +726,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s b (privk a)) (pubk b)))
   (strand-map 0 1)
@@ -719,6 +767,7 @@
     ((recv d) (send d)))
   (label 32)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -730,6 +779,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -738,6 +788,7 @@
   (label 33)
   (parent 32)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-fixed
@@ -748,6 +799,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0 1)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -756,6 +808,7 @@
   (parent 32)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet-fixed
@@ -766,6 +819,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (2 0)
     (enc (enc s b (privk a)) (pubk b)))
   (strand-map 0 1 2)
@@ -775,6 +829,7 @@
   (label 35)
   (parent 33)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-fixed
@@ -787,6 +842,7 @@
     ((3 1) (1 0)))
   (non-orig (privk b))
   (uniq-orig d s)
+  (comment "From the initiator's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((send (enc (enc s b (privk a)) (pubk b))) (recv (enc d s)))
@@ -797,6 +853,7 @@
   (parent 35)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -825,6 +882,7 @@
   (traces ((recv (enc (enc s b (privk a)) (pubk b))) (send (enc d s))))
   (label 37)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -835,6 +893,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s b (privk a))
     (0 0))
   (strand-map 0)
@@ -876,6 +935,7 @@
   (label 39)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "Not a skeleton"))
 
@@ -886,11 +946,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (traces ((recv (enc (enc s b (privk a)) (pubk b))) (send (enc d s)))
     ((recv d) (send d)))
   (label 40)
   (parent 39)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (origs (d (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -902,6 +964,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation encryption-test (added-strand init 1) (enc s b (privk a))
     (0 0))
   (strand-map 0 1)
@@ -910,6 +973,7 @@
   (label 41)
   (parent 40)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet-fixed
@@ -921,6 +985,7 @@
   (precedes ((0 1) (1 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig d s)
+  (comment "From the responders's perspective, is the secret leaked?")
   (operation nonce-test (added-listener s) d (1 0) (enc d s))
   (strand-map 0 1 2)
   (traces ((recv (enc (enc s b (privk a)) (pubk b))) (send (enc d s)))
@@ -930,6 +995,7 @@
   (parent 41)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/blanchet_doorsep.tst b/tst/blanchet_doorsep.tst
--- a/tst/blanchet_doorsep.tst
+++ b/tst/blanchet_doorsep.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read")
 
 (defprotocol blanchet basic
@@ -27,6 +27,7 @@
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -37,6 +38,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -44,6 +46,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -53,6 +56,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -61,6 +65,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet
@@ -70,6 +75,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1)
@@ -95,8 +101,8 @@
   (defrule trust
     (forall ((z strd) (p d akey) (k skey))
       (implies
-        (and (p "person" z (idx 1)) (p "person" "p" z p)
-          (p "person" "d" z d) (p "person" "k" z k) (fact trust p))
+        (and (p "person" z (idx 1)) (p "person" "k" z k)
+          (p "person" "d" z d) (p "person" "p" z p) (fact trust p))
         (and (non (invk d)) (uniq k)))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -115,6 +121,7 @@
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t)))
   (label 4)
   (unrealized (0 0))
+  (maps ((0) ((p p) (t t) (d d) (k k))))
   (origs (t (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -126,6 +133,7 @@
   (non-orig (invk p) (invk d-0))
   (uniq-orig k t)
   (facts (trust p))
+  (comment "Analyze from the door's perspective")
   (rule trust)
   (operation encryption-test (added-strand person 1) (enc k (invk p))
     (0 0))
@@ -135,6 +143,7 @@
   (label 5)
   (parent 4)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((p p) (t t) (d d) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton doorsep
@@ -145,6 +154,7 @@
   (non-orig (invk p) (invk d))
   (uniq-orig k t)
   (facts (trust p))
+  (comment "Analyze from the door's perspective")
   (operation encryption-test (contracted (d-0 d)) (enc k (invk p)) (0 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1)
@@ -153,6 +163,7 @@
   (label 6)
   (parent 5)
   (unrealized (0 2))
+  (maps ((0) ((p p) (t t) (d d) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton doorsep
@@ -163,6 +174,7 @@
   (non-orig (invk p) (invk d))
   (uniq-orig k t)
   (facts (trust p))
+  (comment "Analyze from the door's perspective")
   (operation nonce-test (displaced 1 2 person 3) t (0 2) (enc t k))
   (strand-map 0 1)
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t))
@@ -183,6 +195,7 @@
   (non-orig (invk p) (invk d))
   (uniq-orig k t)
   (facts (trust p))
+  (comment "Analyze from the door's perspective")
   (operation nonce-test (added-listener k) t (0 2) (enc t k))
   (strand-map 0 1)
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t))
@@ -191,6 +204,7 @@
   (parent 6)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((p p) (t t) (d d) (k k))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -206,8 +220,8 @@
   (defrule trust
     (forall ((z strd) (p d akey) (k skey))
       (implies
-        (and (p "person" z (idx 1)) (p "person" "p" z p)
-          (p "person" "d" z d) (p "person" "k" z k) (fact trust p))
+        (and (p "person" z (idx 1)) (p "person" "k" z k)
+          (p "person" "d" z d) (p "person" "p" z p) (fact trust p))
         (and (non (invk d)) (uniq k)))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -225,6 +239,7 @@
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t)))
   (label 9)
   (unrealized (0 0))
+  (maps ((0) ((p p) (t t) (d d) (k k))))
   (origs (t (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -235,6 +250,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk p))
   (uniq-orig k t)
+  (comment "Analyze from the door's perspective when we don't trust p")
   (operation encryption-test (added-strand person 1) (enc k (invk p))
     (0 0))
   (strand-map 0)
diff --git a/tst/bug_example.tst b/tst/bug_example.tst
--- a/tst/bug_example.tst
+++ b/tst/bug_example.tst
@@ -1,6 +1,6 @@
 (herald bug_example (bound 20))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/bug_example.scm")
 (comment "Strand count bounded at 20")
 
@@ -31,6 +31,7 @@
   (traces ((recv (enc y (hash (invk x) y)))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((x x) (y y))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -49,6 +50,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((x x) (y (invk k2)))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton bug_example
@@ -66,6 +68,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (y y))))
   (comment "empty cohort"))
 
 (defskeleton bug_example
@@ -107,6 +110,7 @@
   (label 4)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0) ((x (invk k1)) (y k2))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton bug_example
@@ -127,6 +131,7 @@
   (parent 1)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((x x) (y (invk k2)))))
   (comment "empty cohort"))
 
 (defskeleton bug_example
@@ -156,6 +161,7 @@
         (enc k2 (hash (invk k1) (invk k2))) (3 0))
       (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((x k1) (y (invk k2)))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton bug_example
@@ -179,6 +185,7 @@
   (parent 4)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((x (invk k1)) (y k2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -214,6 +221,7 @@
   (traces ((recv (enc y (hash (invk x) y)))))
   (label 8)
   (unrealized (0 0))
+  (maps ((0) ((x x) (y y))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -231,6 +239,7 @@
   (label 9)
   (parent 8)
   (unrealized (1 0))
+  (maps ((0) ((x x) (y y))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton bug_example
@@ -248,6 +257,7 @@
   (parent 8)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((x x) (y y))))
   (comment "empty cohort"))
 
 (defskeleton bug_example
@@ -288,6 +298,7 @@
   (label 12)
   (parent 9)
   (unrealized (2 0))
+  (maps ((0) ((x (invk k1)) (y y))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton bug_example
@@ -307,6 +318,7 @@
   (parent 9)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((x x) (y y))))
   (comment "empty cohort"))
 
 (defskeleton bug_example
@@ -335,6 +347,7 @@
       (operation encryption-test (added-strand flip2 2)
         (enc y (hash (invk k1) (invk y))) (3 0)) (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((x k1) (y y))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton bug_example
@@ -358,6 +371,7 @@
   (parent 12)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((x (invk k1)) (y y))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/cert_lang.tst b/tst/cert_lang.tst
--- a/tst/cert_lang.tst
+++ b/tst/cert_lang.tst
@@ -1,6 +1,6 @@
 (herald cert-lang)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/cert_lang.scm")
 
 (defprotocol cert-uni basic
@@ -29,8 +29,8 @@
   (defrule certified-keys-uncompromised
     (forall ((zca strd) (subj ca name) (pk akey))
       (implies
-        (and (p "certify" zca (idx 1)) (p "certify" "subj" zca subj)
-          (p "certify" "ca" zca ca) (p "certify" "pk" zca pk)
+        (and (p "certify" zca (idx 1)) (p "certify" "pk" zca pk)
+          (p "certify" "ca" zca ca) (p "certify" "subj" zca subj)
           (non (privk "cert" ca)))
         (non (invk pk)))))
   (defgenrule neqRl_indx
@@ -53,6 +53,10 @@
       (send ch-r (enc "challenge" chal pk)) (recv ch-r chal)))
   (label 0)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((ca ca) (chal chal) (ch-ca ch-ca) (ch-r ch-r) (subj subj) (pk pk)
+        (serial serial))))
   (origs (chal (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -77,6 +81,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((ca ca) (chal chal) (ch-ca ch-ca) (ch-r ch-r) (subj subj) (pk pk)
+        (serial serial))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton cert-uni
diff --git a/tst/chan-envelope.tst b/tst/chan-envelope.tst
--- a/tst/chan-envelope.tst
+++ b/tst/chan-envelope.tst
@@ -1,6 +1,6 @@
 (herald "Envelope Protocol With Channels" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/chan-envelope.scm")
 (comment "Strand count bounded at 15")
 
@@ -72,6 +72,7 @@
   (label 0)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -90,6 +91,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -115,6 +117,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -139,6 +142,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -169,6 +173,7 @@
   (label 4)
   (parent 3)
   (unrealized (3 1) (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -200,6 +205,7 @@
   (label 5)
   (parent 4)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -236,6 +242,7 @@
   (label 6)
   (parent 5)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -273,6 +280,7 @@
   (parent 5)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -312,6 +320,7 @@
   (parent 6)
   (unrealized (5 0) (5 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -351,6 +360,7 @@
   (label 9)
   (parent 6)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -390,6 +400,7 @@
   (label 10)
   (parent 9)
   (unrealized (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -507,6 +518,7 @@
   (label 12)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -527,6 +539,7 @@
   (label 13)
   (parent 12)
   (unrealized (0 0) (1 2))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -554,6 +567,7 @@
   (label 14)
   (parent 13)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -580,6 +594,7 @@
   (label 15)
   (parent 14)
   (unrealized (0 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -613,6 +628,7 @@
   (label 16)
   (parent 15)
   (unrealized (3 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -651,6 +667,7 @@
   (label 17)
   (parent 16)
   (unrealized (4 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -690,6 +707,7 @@
   (parent 16)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -731,6 +749,7 @@
   (parent 17)
   (unrealized (5 0) (5 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -772,6 +791,7 @@
   (label 20)
   (parent 17)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -813,6 +833,7 @@
   (label 21)
   (parent 20)
   (unrealized (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -934,6 +955,7 @@
   (label 23)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -956,6 +978,7 @@
   (label 24)
   (parent 23)
   (unrealized (0 0) (2 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -985,6 +1008,7 @@
   (label 25)
   (parent 24)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1013,6 +1037,7 @@
   (label 26)
   (parent 25)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1048,6 +1073,7 @@
   (label 27)
   (parent 26)
   (unrealized (0 0) (4 1) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1084,6 +1110,7 @@
   (label 28)
   (parent 27)
   (unrealized (0 0) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1124,6 +1151,7 @@
   (label 29)
   (parent 28)
   (unrealized (0 0) (5 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1165,6 +1193,7 @@
   (parent 28)
   (unrealized (0 0) (5 0) (5 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1208,6 +1237,7 @@
   (parent 29)
   (unrealized (0 0) (6 0) (6 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1251,6 +1281,7 @@
   (label 32)
   (parent 29)
   (unrealized (0 0) (6 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1294,6 +1325,7 @@
   (label 33)
   (parent 32)
   (unrealized (0 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1340,6 +1372,7 @@
   (label 34)
   (parent 33)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1391,6 +1424,7 @@
   (label 35)
   (parent 34)
   (unrealized (8 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1446,6 +1480,7 @@
   (label 36)
   (parent 35)
   (unrealized (9 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -1502,6 +1537,7 @@
   (parent 35)
   (unrealized (9 0) (9 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1561,6 +1597,7 @@
   (parent 36)
   (unrealized (10 0) (10 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1678,6 +1715,7 @@
   (label 40)
   (parent 36)
   (unrealized (10 0) (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1738,6 +1776,7 @@
   (label 41)
   (parent 40)
   (unrealized (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1916,8 +1955,8 @@
   (defrule ordered-extends
     (forall ((y z strd) (c chan))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "c" y c) (p "tpm-extend" "c" z c))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "c" z c) (p "tpm-extend" "c" y c))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -1943,6 +1982,7 @@
   (label 44)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -1961,6 +2001,7 @@
   (label 45)
   (parent 44)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1986,6 +2027,7 @@
   (label 46)
   (parent 45)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2010,6 +2052,7 @@
   (label 47)
   (parent 46)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2040,6 +2083,7 @@
   (label 48)
   (parent 47)
   (unrealized (3 1) (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2071,6 +2115,7 @@
   (label 49)
   (parent 48)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2107,6 +2152,7 @@
   (label 50)
   (parent 49)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2144,6 +2190,7 @@
   (parent 49)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2183,6 +2230,7 @@
   (label 52)
   (parent 50)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2222,6 +2270,7 @@
   (label 53)
   (parent 52)
   (unrealized (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2319,8 +2368,8 @@
   (defrule ordered-extends
     (forall ((y z strd) (c chan))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "c" y c) (p "tpm-extend" "c" z c))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "c" z c) (p "tpm-extend" "c" y c))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -2348,6 +2397,7 @@
   (label 55)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -2368,6 +2418,7 @@
   (label 56)
   (parent 55)
   (unrealized (0 0) (1 2))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2395,6 +2446,7 @@
   (label 57)
   (parent 56)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2421,6 +2473,7 @@
   (label 58)
   (parent 57)
   (unrealized (0 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2454,6 +2507,7 @@
   (label 59)
   (parent 58)
   (unrealized (3 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2492,6 +2546,7 @@
   (label 60)
   (parent 59)
   (unrealized (4 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2531,6 +2586,7 @@
   (parent 59)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2572,6 +2628,7 @@
   (label 62)
   (parent 60)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2613,6 +2670,7 @@
   (label 63)
   (parent 62)
   (unrealized (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2712,8 +2770,8 @@
   (defrule ordered-extends
     (forall ((y z strd) (c chan))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "c" y c) (p "tpm-extend" "c" z c))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "c" z c) (p "tpm-extend" "c" y c))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -2743,6 +2801,7 @@
   (label 65)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -2765,6 +2824,7 @@
   (label 66)
   (parent 65)
   (unrealized (0 0) (2 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2794,6 +2854,7 @@
   (label 67)
   (parent 66)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2822,6 +2883,7 @@
   (label 68)
   (parent 67)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2857,6 +2919,7 @@
   (label 69)
   (parent 68)
   (unrealized (0 0) (4 1) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2893,6 +2956,7 @@
   (label 70)
   (parent 69)
   (unrealized (0 0) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2933,6 +2997,7 @@
   (label 71)
   (parent 70)
   (unrealized (0 0) (5 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2974,6 +3039,7 @@
   (parent 70)
   (unrealized (0 0) (5 0) (5 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3017,6 +3083,7 @@
   (label 73)
   (parent 71)
   (unrealized (0 0) (6 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3060,6 +3127,7 @@
   (label 74)
   (parent 73)
   (unrealized (0 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3106,6 +3174,7 @@
   (label 75)
   (parent 74)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3157,6 +3226,7 @@
   (label 76)
   (parent 75)
   (unrealized (8 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -3212,6 +3282,7 @@
   (label 77)
   (parent 76)
   (unrealized (9 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3268,6 +3339,7 @@
   (parent 76)
   (unrealized (9 0) (9 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3328,6 +3400,7 @@
   (label 79)
   (parent 77)
   (unrealized (10 0) (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3388,6 +3461,7 @@
   (label 80)
   (parent 79)
   (unrealized (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3505,8 +3579,8 @@
   (defrule ordered-extends
     (forall ((y z strd) (c chan))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "c" y c) (p "tpm-extend" "c" z c))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "c" z c) (p "tpm-extend" "c" y c))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -3514,11 +3588,10 @@
   (defrule esk-same-as-chan
     (forall ((y z strd) (esk skey) (c c-0 chan))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "esk" y esk)
-          (p "tpm-extend-enc" "esk" z esk) (p "tpm-extend-enc" "c" y c)
-          (p "tpm-extend-enc" "c" z c-0))
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3)) (p "tpm-extend-enc" "c" z c-0)
+          (p "tpm-extend-enc" "c" y c) (p "tpm-extend-enc" "esk" z esk)
+          (p "tpm-extend-enc" "esk" y esk))
         (= c c-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -3541,6 +3614,7 @@
   (label 82)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -3559,6 +3633,7 @@
   (label 83)
   (parent 82)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -3584,6 +3659,7 @@
   (label 84)
   (parent 83)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3608,6 +3684,7 @@
   (label 85)
   (parent 84)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3638,6 +3715,7 @@
   (label 86)
   (parent 85)
   (unrealized (3 1) (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3669,6 +3747,7 @@
   (label 87)
   (parent 86)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -3705,6 +3784,7 @@
   (label 88)
   (parent 87)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3742,6 +3822,7 @@
   (parent 87)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3781,6 +3862,7 @@
   (label 90)
   (parent 88)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3820,6 +3902,7 @@
   (label 91)
   (parent 90)
   (unrealized (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3917,8 +4000,8 @@
   (defrule ordered-extends
     (forall ((y z strd) (c chan))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "c" y c) (p "tpm-extend" "c" z c))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "c" z c) (p "tpm-extend" "c" y c))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -3926,11 +4009,10 @@
   (defrule esk-same-as-chan
     (forall ((y z strd) (esk skey) (c c-0 chan))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "esk" y esk)
-          (p "tpm-extend-enc" "esk" z esk) (p "tpm-extend-enc" "c" y c)
-          (p "tpm-extend-enc" "c" z c-0))
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3)) (p "tpm-extend-enc" "c" z c-0)
+          (p "tpm-extend-enc" "c" y c) (p "tpm-extend-enc" "esk" z esk)
+          (p "tpm-extend-enc" "esk" y esk))
         (= c c-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -3955,6 +4037,7 @@
   (label 93)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -3975,6 +4058,7 @@
   (label 94)
   (parent 93)
   (unrealized (0 0) (1 2))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4002,6 +4086,7 @@
   (label 95)
   (parent 94)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4028,6 +4113,7 @@
   (label 96)
   (parent 95)
   (unrealized (0 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4061,6 +4147,7 @@
   (label 97)
   (parent 96)
   (unrealized (3 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -4099,6 +4186,7 @@
   (label 98)
   (parent 97)
   (unrealized (4 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4138,6 +4226,7 @@
   (parent 97)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4179,6 +4268,7 @@
   (label 100)
   (parent 98)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4220,6 +4310,7 @@
   (label 101)
   (parent 100)
   (unrealized (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4319,8 +4410,8 @@
   (defrule ordered-extends
     (forall ((y z strd) (c chan))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "c" y c) (p "tpm-extend" "c" z c))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "c" z c) (p "tpm-extend" "c" y c))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -4328,11 +4419,10 @@
   (defrule esk-same-as-chan
     (forall ((y z strd) (esk skey) (c c-0 chan))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "esk" y esk)
-          (p "tpm-extend-enc" "esk" z esk) (p "tpm-extend-enc" "c" y c)
-          (p "tpm-extend-enc" "c" z c-0))
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3)) (p "tpm-extend-enc" "c" z c-0)
+          (p "tpm-extend-enc" "c" y c) (p "tpm-extend-enc" "esk" z esk)
+          (p "tpm-extend-enc" "esk" y esk))
         (= c c-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -4359,6 +4449,7 @@
   (label 103)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -4381,6 +4472,7 @@
   (label 104)
   (parent 103)
   (unrealized (0 0) (2 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4410,6 +4502,7 @@
   (label 105)
   (parent 104)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4438,6 +4531,7 @@
   (label 106)
   (parent 105)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4473,6 +4567,7 @@
   (label 107)
   (parent 106)
   (unrealized (0 0) (4 1) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4509,6 +4604,7 @@
   (label 108)
   (parent 107)
   (unrealized (0 0) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -4549,6 +4645,7 @@
   (label 109)
   (parent 108)
   (unrealized (0 0) (5 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4590,6 +4687,7 @@
   (parent 108)
   (unrealized (0 0) (5 0) (5 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4633,6 +4731,7 @@
   (label 111)
   (parent 109)
   (unrealized (0 0) (6 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4676,6 +4775,7 @@
   (label 112)
   (parent 111)
   (unrealized (0 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4722,6 +4822,7 @@
   (label 113)
   (parent 112)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4773,6 +4874,7 @@
   (label 114)
   (parent 113)
   (unrealized (8 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -4828,6 +4930,7 @@
   (label 115)
   (parent 114)
   (unrealized (9 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4884,6 +4987,7 @@
   (parent 114)
   (unrealized (9 0) (9 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4945,6 +5049,7 @@
   (parent 115)
   (unrealized (10 0) (10 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/chan-perrig-song.tst b/tst/chan-perrig-song.tst
--- a/tst/chan-perrig-song.tst
+++ b/tst/chan-perrig-song.tst
@@ -1,6 +1,6 @@
 (herald perrig-song)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/chan-perrig-song.scm")
 
 (defprotocol perrig-song basic
@@ -25,6 +25,7 @@
   (traces ((send na) (recv c (cat na nb a b))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((na na) (c c) (nb nb) (a a) (b b))))
   (origs (na (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -71,6 +72,7 @@
   (traces ((recv na) (send c (cat na nb a b)) (recv nb)))
   (label 2)
   (unrealized (0 2))
+  (maps ((0) ((nb nb) (c c) (na na) (a a) (b b))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/chan-unilateral.tst b/tst/chan-unilateral.tst
--- a/tst/chan-unilateral.tst
+++ b/tst/chan-unilateral.tst
@@ -1,6 +1,6 @@
 (herald chan-unilateral)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/chan-unilateral.scm")
 
 (defprotocol unilateral basic
@@ -83,6 +83,7 @@
   (traces ((send ch n) (recv n)))
   (label 2)
   (unrealized (0 1))
+  (maps ((0) ((ch ch) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -129,6 +130,7 @@
   (traces ((send ch n) (recv n)))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((ch ch) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -174,6 +176,7 @@
   (traces ((recv ch n) (send n)))
   (label 6)
   (unrealized (0 0))
+  (maps ((0) ((n n) (ch ch))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -219,6 +222,7 @@
   (traces ((recv ch n) (send n)))
   (label 8)
   (unrealized (0 0))
+  (maps ((0) ((n n) (ch ch))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -265,6 +269,7 @@
   (traces ((recv ch n) (send n)))
   (label 10)
   (unrealized (0 0))
+  (maps ((0) ((n n) (ch ch))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -312,6 +317,7 @@
   (traces ((recv ch n) (send n)))
   (label 12)
   (unrealized (0 0))
+  (maps ((0) ((n n) (ch ch))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/chan-yahalom-role-decl.tst b/tst/chan-yahalom-role-decl.tst
--- a/tst/chan-yahalom-role-decl.tst
+++ b/tst/chan-yahalom-role-decl.tst
@@ -1,6 +1,6 @@
 (herald "Yahalom Protocol Without Forwarding" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/chan-yahalom-role-decl.scm")
 (comment "Strand count bounded at 15")
 
@@ -39,6 +39,8 @@
       (recv ch2 (cat a b k)) (recv (enc n-b k))))
   (label 0)
   (unrealized (0 2))
+  (maps
+    ((0) ((n-b n-b) (b b) (a a) (n-a n-a) (k k) (ch1 ch1) (ch2 ch2))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -64,6 +66,8 @@
   (label 1)
   (parent 0)
   (unrealized (0 3))
+  (maps
+    ((0) ((n-b n-b) (b b) (a a) (n-a n-a) (k k) (ch1 ch1) (ch2 ch2))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -91,6 +95,8 @@
   (label 2)
   (parent 1)
   (unrealized (2 1))
+  (maps
+    ((0) ((n-b n-b) (b b) (a a) (n-a n-a) (k k) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -116,6 +122,8 @@
   (label 3)
   (parent 1)
   (unrealized (2 0))
+  (maps
+    ((0) ((n-b n-b) (b b) (a a) (n-a n-a) (k k) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -173,6 +181,8 @@
   (parent 3)
   (unrealized (2 0))
   (dead)
+  (maps
+    ((0) ((n-b n-b) (b b) (a a) (n-a n-a) (k k) (ch1 ch1) (ch2 ch2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -213,6 +223,8 @@
       (recv ch2 (cat a b k)) (recv (enc n-b k))) ((recv k) (send k)))
   (label 6)
   (unrealized (0 2))
+  (maps
+    ((0 1) ((k k) (n-b n-b) (b b) (a a) (n-a n-a) (ch1 ch1) (ch2 ch2))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -239,6 +251,8 @@
   (label 7)
   (parent 6)
   (unrealized (0 3) (1 0))
+  (maps
+    ((0 1) ((k k) (n-b n-b) (b b) (a a) (n-a n-a) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -265,6 +279,8 @@
   (parent 7)
   (unrealized (0 3) (1 0))
   (dead)
+  (maps
+    ((0 1) ((k k) (n-b n-b) (b b) (a a) (n-a n-a) (ch1 ch1) (ch2 ch2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -303,6 +319,7 @@
       (send (enc n-b k))))
   (label 9)
   (unrealized (0 1))
+  (maps ((0) ((n-a n-a) (a a) (b b) (n-b n-b) (k k) (ch3 ch3))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -365,6 +382,7 @@
       (send (enc n-b k))) ((recv k) (send k)))
   (label 11)
   (unrealized (0 1))
+  (maps ((0 1) ((k k) (a a) (b b) (n-a n-a) (n-b n-b) (ch3 ch3))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -388,6 +406,7 @@
   (label 12)
   (parent 11)
   (unrealized (1 0))
+  (maps ((0 1) ((k k) (a a) (b b) (n-a n-a) (n-b n-b) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -412,6 +431,7 @@
   (parent 12)
   (unrealized (1 0))
   (dead)
+  (maps ((0 1) ((k k) (a a) (b b) (n-a n-a) (n-b n-b) (ch3 ch3))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -455,6 +475,10 @@
       (recv ch2 (cat a-0 b-0 k))))
   (label 14)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -484,6 +508,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -559,6 +587,10 @@
       (recv ch2 (cat a-0 b-0 k)) (recv (enc n-b-0 k))))
   (label 17)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -588,6 +620,10 @@
   (label 18)
   (parent 17)
   (unrealized (0 1) (1 3))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -615,6 +651,10 @@
   (label 19)
   (parent 18)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -646,6 +686,10 @@
   (label 20)
   (parent 18)
   (unrealized (0 1) (3 1))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -674,6 +718,10 @@
   (label 21)
   (parent 18)
   (unrealized (0 1) (3 0))
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -739,6 +787,10 @@
   (parent 20)
   (unrealized (0 1))
   (dead)
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -769,6 +821,10 @@
   (parent 21)
   (unrealized (0 1) (3 0))
   (dead)
+  (maps
+    ((0 1)
+      ((n-a n-a) (k k) (a a) (b b) (n-b n-b) (ch3 ch3) (b-0 b-0)
+        (a-0 a-0) (n-a-0 n-a-0) (n-b-0 n-b-0) (ch1 ch1) (ch2 ch2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -854,6 +910,10 @@
   (label 26)
   (unrealized (1 0))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (a a) (b b) (n-a n-a) (n-b n-b) (ch1 ch1) (ch2 ch2)
+        (ch3 ch3))))
   (origs (k (0 1)))
   (comment "Not a skeleton"))
 
@@ -871,6 +931,10 @@
   (label 27)
   (parent 26)
   (unrealized (1 0))
+  (maps
+    ((0 1)
+      ((k k) (a a) (b b) (n-a n-a) (n-b n-b) (ch1 ch1) (ch2 ch2)
+        (ch3 ch3))))
   (origs (k (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -892,6 +956,10 @@
   (parent 27)
   (unrealized (1 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (a a) (b b) (n-a n-a) (n-b n-b) (ch1 ch1) (ch2 ch2)
+        (ch3 ch3))))
   (origs (k (0 1)))
   (comment "empty cohort"))
 
diff --git a/tst/chan-yahalom.tst b/tst/chan-yahalom.tst
--- a/tst/chan-yahalom.tst
+++ b/tst/chan-yahalom.tst
@@ -1,6 +1,6 @@
 (herald "Yahalom Protocol Without Forwarding" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/chan-yahalom.scm")
 (comment "Strand count bounded at 15")
 
@@ -36,6 +36,8 @@
       (recv ch2 (cat a b k)) (recv (enc n-b k))))
   (label 0)
   (unrealized (0 2))
+  (maps
+    ((0) ((a a) (b b) (n-b n-b) (ch1 ch1) (ch2 ch2) (n-a n-a) (k k))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -106,6 +108,10 @@
       (send ch3 (cat a b k n-a-0 n-b-0)) (send ch2 (cat a b k))))
   (label 2)
   (unrealized (0 3))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -134,6 +140,10 @@
   (label 3)
   (parent 2)
   (unrealized (2 1))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -159,6 +169,10 @@
   (label 4)
   (parent 2)
   (unrealized (2 0))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -220,6 +234,10 @@
   (label 6)
   (parent 3)
   (unrealized (2 1))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -247,6 +265,10 @@
   (parent 4)
   (unrealized (2 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -279,6 +301,10 @@
     (5 (operation generalization weakened ((1 2) (2 1)))
       (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -322,6 +348,10 @@
   (label 9)
   (unrealized (0 2) (0 3) (1 0))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "Not a skeleton"))
 
@@ -344,6 +374,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 2) (0 3) (1 0))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -368,6 +402,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 2) (0 3))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -395,6 +433,10 @@
   (label 12)
   (parent 10)
   (unrealized (0 2) (0 3))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -418,6 +460,10 @@
   (label 13)
   (parent 11)
   (unrealized (0 3))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -445,6 +491,10 @@
   (label 14)
   (parent 12)
   (unrealized (0 3))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -472,6 +522,10 @@
   (label 15)
   (parent 13)
   (unrealized (2 1))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -495,6 +549,10 @@
   (label 16)
   (parent 13)
   (unrealized (2 0))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -525,6 +583,10 @@
   (label 17)
   (parent 14)
   (unrealized (3 1))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -552,6 +614,10 @@
   (label 18)
   (parent 14)
   (unrealized (3 0))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -612,6 +678,10 @@
   (label 20)
   (parent 15)
   (unrealized (2 1))
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -637,6 +707,10 @@
   (parent 16)
   (unrealized (2 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -669,6 +743,10 @@
   (parent 17)
   (unrealized (3 1))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -698,6 +776,10 @@
   (parent 18)
   (unrealized (3 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -729,6 +811,10 @@
     (19 (operation generalization weakened ((1 2) (2 1)))
       (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0 1)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a) (n-b-0 n-b) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1) (ch3 ch3))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -774,6 +860,10 @@
   (label 25)
   (unrealized (0 2) (0 3) (1 0) (2 0))
   (preskeleton)
+  (maps
+    ((0 1 2)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "Not a skeleton"))
 
@@ -798,6 +888,10 @@
   (label 26)
   (parent 25)
   (unrealized (0 2) (0 3) (1 0) (2 0))
+  (maps
+    ((0 1 2)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -826,6 +920,10 @@
   (parent 26)
   (unrealized (0 2) (0 3) (1 0) (2 0))
   (dead)
+  (maps
+    ((0 1 2)
+      ((k k) (n-b n-b) (n-a n-a) (n-a-0 n-a-0) (n-b-0 n-b-0) (a a) (b b)
+        (ch1 ch1) (ch2 ch2) (ch1-0 ch1-0) (ch3 ch3))))
   (origs (k (1 1)) (n-b (0 1)))
   (comment "empty cohort"))
 
@@ -862,6 +960,7 @@
       (send (enc n-b k))))
   (label 28)
   (unrealized (0 1))
+  (maps ((0) ((n-a n-a) (ch3 ch3) (a a) (b b) (n-b n-b) (k k))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -925,6 +1024,10 @@
     ((recv ch1 (cat a b n-a n-b)) (send ch3-0 (cat a b k n-a n-b))))
   (label 30)
   (unrealized (0 1) (1 0))
+  (maps
+    ((0 1)
+      ((k k) (n-a n-a) (n-b n-b) (a a) (b b) (ch3 ch3) (ch3-0 ch3-0)
+        (ch1 ch1))))
   (origs (k (1 1)) (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -949,6 +1052,10 @@
   (label 31)
   (parent 30)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (n-a n-a) (n-b n-b) (a a) (b b) (ch3 ch3) (ch3-0 ch3-0)
+        (ch1 ch1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1014,6 +1121,10 @@
       (send ch2 (cat a b k))))
   (label 33)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((ch1 ch1) (ch2 ch2) (ch3 ch3) (a a) (b b) (n-a n-a) (n-b n-b)
+        (k k))))
   (origs (k (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1080,6 +1191,10 @@
   (label 35)
   (unrealized (0 0) (1 0))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (ch1 ch1) (ch2 ch2) (ch3 ch3) (a a) (b b) (n-a n-a)
+        (n-b n-b))))
   (origs (k (0 1)))
   (comment "Not a skeleton"))
 
@@ -1098,6 +1213,10 @@
   (label 36)
   (parent 35)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1)
+      ((k k) (ch1 ch1) (ch2 ch2) (ch3 ch3) (a a) (b b) (n-a n-a)
+        (n-b n-b))))
   (origs (k (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1120,6 +1239,10 @@
   (parent 36)
   (unrealized (0 0) (1 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (ch1 ch1) (ch2 ch2) (ch3 ch3) (a a) (b b) (n-a n-a)
+        (n-b n-b))))
   (origs (k (0 1)))
   (comment "empty cohort"))
 
diff --git a/tst/commitment.tst b/tst/commitment.tst
--- a/tst/commitment.tst
+++ b/tst/commitment.tst
@@ -1,6 +1,6 @@
 (herald commitment)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/commitment.scm")
 
 (defprotocol commit basic
@@ -45,6 +45,10 @@
       (send (enc "result" a b n quote outcome (privk "sig" b)))))
   (label 0)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((a a) (b b) (n n) (quote quote) (outcome outcome)
+        (sealed sealed))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -62,6 +66,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((a a) (b b) (n n) (quote quote) (outcome outcome)
+        (sealed (hash a b n quote)))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -133,6 +141,7 @@
       (send (enc "receipt" sealed (privk "sig" b)))))
   (label 3)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (sealed sealed))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -225,6 +234,7 @@
   (label 6)
   (unrealized (0 0) (0 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (quote quote) (outcome outcome) (a a) (b b))))
   (origs)
   (ugens (n (1 0)))
   (comment "Not a skeleton"))
@@ -246,6 +256,7 @@
   (label 7)
   (parent 6)
   (unrealized (0 2))
+  (maps ((0 1) ((n n) (quote quote) (outcome outcome) (a a) (b b))))
   (origs)
   (ugens (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
diff --git a/tst/comp_test.tst b/tst/comp_test.tst
--- a/tst/comp_test.tst
+++ b/tst/comp_test.tst
@@ -1,6 +1,6 @@
 (herald "Main Example")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/comp_test.scm")
 
 (defprotocol main-ex-src basic
@@ -54,6 +54,7 @@
       (recv (enc "sorry" a b k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (origs (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -64,6 +65,18 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk a) (invk b) (invk c))
   (uniq-orig k)
+  (comment
+    (defgoal main-ex-src
+      (forall ((i ssn text) (k skey) (a b c akey) (z strd))
+        (implies
+          (and (p "qn" z 2) (p "qn" "i" z i) (p "qn" "ssn" z ssn)
+            (p "qn" "k" z k) (p "qn" "a" z a) (p "qn" "b" z b)
+            (p "qn" "c" z c) (non (invk a)) (non (invk b))
+            (non (invk c)) (uniq-at k z 0))
+          (exists ((x mesg) (z-0 strd))
+            (and (p "an" z-0 2) (p "an" "x" z-0 x) (p "an" "i" z-0 i)
+              (p "an" "k" z-0 k) (p "an" "a" z-0 a) (p "an" "b" z-0 b)
+              (p "an" "c" z-0 c) (prec z 0 z-0 0) (prec z-0 1 z 1)))))))
   (operation encryption-test (added-strand an 2) (enc "sorry" a b k)
     (0 1))
   (strand-map 0)
@@ -75,6 +88,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-src
@@ -84,6 +98,18 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk a) (invk b) (invk c))
   (uniq-orig k)
+  (comment
+    (defgoal main-ex-src
+      (forall ((i ssn text) (k skey) (a b c akey) (z strd))
+        (implies
+          (and (p "qn" z 2) (p "qn" "i" z i) (p "qn" "ssn" z ssn)
+            (p "qn" "k" z k) (p "qn" "a" z a) (p "qn" "b" z b)
+            (p "qn" "c" z c) (non (invk a)) (non (invk b))
+            (non (invk c)) (uniq-at k z 0))
+          (exists ((x mesg) (z-0 strd))
+            (and (p "an" z-0 2) (p "an" "x" z-0 x) (p "an" "i" z-0 i)
+              (p "an" "k" z-0 k) (p "an" "a" z-0 a) (p "an" "b" z-0 b)
+              (p "an" "c" z-0 c) (prec z 0 z-0 0) (prec z-0 1 z 1)))))))
   (operation encryption-test (added-listener k) (enc "sorry" a b k)
     (0 1))
   (strand-map 0)
@@ -94,6 +120,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (comment "empty cohort"))
 
 (defskeleton main-ex-src
@@ -103,6 +130,18 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk a) (invk b) (invk c))
   (uniq-orig k)
+  (comment
+    (defgoal main-ex-src
+      (forall ((i ssn text) (k skey) (a b c akey) (z strd))
+        (implies
+          (and (p "qn" z 2) (p "qn" "i" z i) (p "qn" "ssn" z ssn)
+            (p "qn" "k" z k) (p "qn" "a" z a) (p "qn" "b" z b)
+            (p "qn" "c" z c) (non (invk a)) (non (invk b))
+            (non (invk c)) (uniq-at k z 0))
+          (exists ((x mesg) (z-0 strd))
+            (and (p "an" z-0 2) (p "an" "x" z-0 x) (p "an" "i" z-0 i)
+              (p "an" "k" z-0 k) (p "an" "a" z-0 a) (p "an" "b" z-0 b)
+              (p "an" "c" z-0 c) (prec z 0 z-0 0) (prec z-0 1 z 1)))))))
   (operation encryption-test (displaced 2 0 qy 1)
     (enc k b c-0 i-0 (invk a)) (1 0))
   (strand-map 0 1)
@@ -159,6 +198,7 @@
       (recv (enc "data" d k))))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (origs (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -179,6 +219,7 @@
   (label 5)
   (parent 4)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-src
@@ -197,6 +238,7 @@
   (parent 4)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "empty cohort"))
 
 (defskeleton main-ex-src
@@ -269,6 +311,7 @@
       (recv (enc "sorry" a b k))))
   (label 8)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (origs (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -290,6 +333,7 @@
   (label 9)
   (parent 8)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-tgt
@@ -309,6 +353,7 @@
   (parent 8)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (comment "empty cohort"))
 
 (defskeleton main-ex-tgt
@@ -329,6 +374,7 @@
   (label 11)
   (parent 9)
   (unrealized (1 2))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-tgt
@@ -406,6 +452,7 @@
       (recv (enc "data" d k))))
   (label 13)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (origs (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -428,6 +475,7 @@
   (label 14)
   (parent 13)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-tgt
@@ -446,6 +494,7 @@
   (parent 13)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "empty cohort"))
 
 (defskeleton main-ex-tgt
@@ -466,6 +515,7 @@
   (label 16)
   (parent 14)
   (unrealized (1 2))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton main-ex-tgt
@@ -485,6 +535,7 @@
   (label 17)
   (parent 16)
   (unrealized (1 2))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-tgt
@@ -540,6 +591,7 @@
   (seen-ops
     (18 (operation generalization separated n-0) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (d d) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -576,16 +628,16 @@
   (defrule src
     (forall ((z strd) (i ssn text) (k skey) (a b c akey))
       (implies
-        (and (p "qn" z (idx 2)) (p "qn" "i" z i) (p "qn" "ssn" z ssn)
-          (p "qn" "k" z k) (p "qn" "a" z a) (p "qn" "b" z b)
-          (p "qn" "c" z c) (non (invk a)) (non (invk b)) (non (invk c))
+        (and (p "qn" z (idx 2)) (p "qn" "c" z c) (p "qn" "b" z b)
+          (p "qn" "a" z a) (p "qn" "k" z k) (p "qn" "ssn" z ssn)
+          (p "qn" "i" z i) (non (invk c)) (non (invk b)) (non (invk a))
           (uniq k))
         (exists ((z-0 strd) (x mesg))
-          (and (p "an" z-0 (idx 4)) (p "an" "x" z-0 x)
-            (p "an" "i" z-0 i) (p "an" "k" z-0 k) (p "an" "a" z-0 a)
-            (p "an" "b" z-0 b) (p "an" "c" z-0 c)
-            (prec z (idx 0) z-0 (idx 0))
-            (prec z-0 (idx 3) z (idx 1)))))))
+          (and (p "an" z-0 (idx 4)) (p "an" "c" z-0 c)
+            (p "an" "b" z-0 b) (p "an" "a" z-0 a) (p "an" "k" z-0 k)
+            (p "an" "i" z-0 i) (p "an" "x" z-0 x)
+            (prec z-0 (idx 3) z (idx 1))
+            (prec z (idx 0) z-0 (idx 0)))))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
   (defgenrule neqRl_strd
@@ -603,6 +655,7 @@
       (recv (enc "sorry" a b k))))
   (label 20)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (origs (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -622,6 +675,7 @@
   (label 21)
   (parent 20)
   (unrealized (1 2))
+  (maps ((0) ((a a) (b b) (c c) (i i) (ssn ssn) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton main-ex-tgt-rule
diff --git a/tst/completeness-test.tst b/tst/completeness-test.tst
--- a/tst/completeness-test.tst
+++ b/tst/completeness-test.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/completeness-test.scm")
 
 (defprotocol completeness-test basic
@@ -28,6 +28,7 @@
       (send (enc "ok" s-0))) ((recv (enc "ok" s))))
   (label 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((b b) (n n) (s s) (a a) (s-0 s-0))))
   (origs (n (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -47,6 +48,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0 1) ((b b) (n n) (s s) (a a) (s-0 s))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -68,6 +70,7 @@
   (label 2)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0 1) ((b b) (n n) (s s) (a a) (s-0 s-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton completeness-test
@@ -146,6 +149,7 @@
       (send (enc "ok" s-0))))
   (label 5)
   (unrealized (0 0) (1 1))
+  (maps ((0 1) ((b b) (n n) (s s) (a a) (s-0 s-0))))
   (origs (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -167,6 +171,7 @@
   (label 6)
   (parent 5)
   (unrealized (0 0))
+  (maps ((0 1) ((b b) (n n) (s s) (a a) (s-0 s-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton completeness-test
@@ -243,6 +248,7 @@
     ((recv (enc "ok" s))))
   (label 9)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((b b) (n n) (s s) (a a))))
   (origs (n (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -261,6 +267,7 @@
   (label 10)
   (parent 9)
   (unrealized (1 1))
+  (maps ((1 0) ((b b) (n n) (s s) (a a))))
   (origs (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -281,6 +288,7 @@
   (label 11)
   (parent 9)
   (unrealized (0 1))
+  (maps ((0 1) ((b b) (n n) (s s) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton completeness-test
@@ -357,6 +365,7 @@
     ((send (enc a n (pubk b))) (recv (enc n (pubk a)))))
   (label 14)
   (unrealized (0 0) (1 1))
+  (maps ((0 1) ((b b) (n n) (s s) (a a))))
   (origs (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -377,6 +386,7 @@
   (label 15)
   (parent 14)
   (unrealized (0 0))
+  (maps ((0 1) ((b b) (n n) (s s) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton completeness-test
diff --git a/tst/crushing.tst b/tst/crushing.tst
--- a/tst/crushing.tst
+++ b/tst/crushing.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/crushing.scm")
 
 (defprotocol crushing basic
@@ -37,6 +37,7 @@
       (recv (enc n n1 n2 n3 n (invk k)))))
   (label 0)
   (unrealized (0 1) (0 2) (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -59,6 +60,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 2) (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton crushing
@@ -80,6 +82,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n1) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton crushing
@@ -103,6 +106,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton crushing
@@ -124,6 +128,7 @@
   (label 4)
   (parent 2)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n1) (n3 n1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton crushing
@@ -147,6 +152,7 @@
   (label 5)
   (parent 2)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n1) (n3 n3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton crushing
@@ -170,6 +176,7 @@
   (label 6)
   (parent 3)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton crushing
@@ -193,6 +200,7 @@
   (label 7)
   (parent 3)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton crushing
@@ -219,6 +227,7 @@
   (label 8)
   (parent 3)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton crushing
@@ -243,6 +252,7 @@
   (label 9)
   (parent 4)
   (unrealized (2 0))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n1) (n3 n1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton crushing
@@ -271,6 +281,7 @@
   (parent 5)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n1) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton crushing
@@ -299,6 +310,7 @@
   (parent 6)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n1))))
   (comment "empty cohort"))
 
 (defskeleton crushing
@@ -327,6 +339,7 @@
   (parent 7)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n2))))
   (comment "empty cohort"))
 
 (defskeleton crushing
@@ -358,6 +371,7 @@
   (parent 8)
   (unrealized (4 0))
   (dead)
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton crushing
diff --git a/tst/dass_simple.tst b/tst/dass_simple.tst
--- a/tst/dass_simple.tst
+++ b/tst/dass_simple.tst
@@ -1,6 +1,6 @@
 (herald "Distributed Authentication Security Service Protocol Variants")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dass_simple.scm")
 
 (defprotocol dass-simple basic
@@ -37,6 +37,7 @@
          (enc (enc k (pubk b)) (invk kp)))) (recv (enc "resp" tb k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (origs (k (0 0)) (kp (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -61,6 +62,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dass-simple
@@ -81,6 +83,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "empty cohort"))
 
 (defskeleton dass-simple
@@ -104,6 +107,7 @@
   (label 3)
   (parent 1)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dass-simple
@@ -129,6 +133,7 @@
   (parent 1)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "empty cohort"))
 
 (defskeleton dass-simple
@@ -191,6 +196,7 @@
          (enc (enc k (pubk b)) (invk kp)))) (recv (enc "resp" tb k))))
   (label 6)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (origs (k (0 0)) (kp (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -215,6 +221,7 @@
   (label 7)
   (parent 6)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dass+
@@ -235,6 +242,7 @@
   (parent 6)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "empty cohort"))
 
 (defskeleton dass+
@@ -258,6 +266,7 @@
   (label 9)
   (parent 7)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dass+
@@ -283,6 +292,7 @@
   (parent 7)
   (unrealized (1 0) (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "empty cohort"))
 
 (defskeleton dass+
@@ -305,6 +315,7 @@
   (label 11)
   (parent 9)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dass+
@@ -333,6 +344,7 @@
   (label 12)
   (parent 9)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (k k) (kp kp) (ta ta) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dass+
diff --git a/tst/defact-atomic-open-closed.tst b/tst/defact-atomic-open-closed.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-atomic-open-closed.tst
@@ -0,0 +1,1666 @@
+(herald atomic-open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/atomic-open-closed.scm")
+(comment "Strand count bounded at 44")
+
+(defprotocol atomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (recv (enc "may I pass" k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-open
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
+          (p "dev-open" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
+          (p "dev-close" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
+          (p "dev-pass" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule intro-same-dev-up
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-open
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-close
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-pass
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defrule single-thread-up-up
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
+          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (or
+          (= x y)
+          (prec x (idx 4) y (idx 1))
+          (prec y (idx 4) x (idx 1))))))
+  (defrule single-thread-up-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-up-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-open-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-ls-open-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-close-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule atomic-up-pass
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
+          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+          (prec x (idx 2) y (idx 1)))
+        (prec x (idx 4) y (idx 1)))))
+  (defrule dev-up-completes
+    (forall ((x strd))
+      (implies (p "dev-up" x (idx 2)) (p "dev-up" x (idx 5)))))
+  (defrule dev-open-completes
+    (forall ((x strd))
+      (implies (p "dev-open" x (idx 2)) (p "dev-open" x (idx 4)))))
+  (defrule dev-close-completes
+    (forall ((x strd))
+      (implies (p "dev-close" x (idx 2)) (p "dev-close" x (idx 4)))))
+  (defrule dev-pass-completes
+    (forall ((x strd))
+      (implies (p "dev-pass" x (idx 2)) (p "dev-pass" x (idx 3)))))
+  (defrule dev-up-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec x i1 z (idx 4)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-up-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 4) x i1)))))
+  (defrule dev-open-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-open-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-close-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-close-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-pass-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec x i1 z (idx 2)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-pass-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 2) x i1)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 3) (idx 4)))))
+  (defgenrule st-sg-dev-open-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-close-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-pass-2
+    (forall ((z strd))
+      (implies (p "dev-pass" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2))))))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (1 0))
+  (origs (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 mesg) (k skey) (d o name) (pt pt-0 pt-1 pt-2 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (auth start-ch)
+  
+  
+  (operation nonce-test (added-strand dev-up 3) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (stor lk (cat pt-0 "st-k" d o k)) (load ls (cat pt-1 old1))
+      (stor ls (cat pt-2 "st" d o))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol atomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (recv (enc "may I pass" k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-open
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
+          (p "dev-open" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
+          (p "dev-close" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
+          (p "dev-pass" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule intro-same-dev-up
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-open
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-close
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-pass
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defrule single-thread-up-up
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
+          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (or
+          (= x y)
+          (prec x (idx 4) y (idx 1))
+          (prec y (idx 4) x (idx 1))))))
+  (defrule single-thread-up-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-up-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-open-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-ls-open-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-close-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule atomic-up-pass
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
+          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+          (prec x (idx 2) y (idx 1)))
+        (prec x (idx 4) y (idx 1)))))
+  (defrule dev-up-completes
+    (forall ((x strd))
+      (implies (p "dev-up" x (idx 2)) (p "dev-up" x (idx 5)))))
+  (defrule dev-open-completes
+    (forall ((x strd))
+      (implies (p "dev-open" x (idx 2)) (p "dev-open" x (idx 4)))))
+  (defrule dev-close-completes
+    (forall ((x strd))
+      (implies (p "dev-close" x (idx 2)) (p "dev-close" x (idx 4)))))
+  (defrule dev-pass-completes
+    (forall ((x strd))
+      (implies (p "dev-pass" x (idx 2)) (p "dev-pass" x (idx 3)))))
+  (defrule dev-up-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec x i1 z (idx 4)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-up-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 4) x i1)))))
+  (defrule dev-open-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-open-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-close-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-close-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-pass-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec x i1 z (idx 2)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-pass-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 2) x i1)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 3) (idx 4)))))
+  (defgenrule st-sg-dev-open-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-close-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-pass-2
+    (forall ((z strd))
+      (implies (p "dev-pass" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2))))))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d o k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  
+  
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d o k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 1) (0 2))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((1 4) (0 1)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (auth start-ch)
+  
+  (leads-to ((1 2) (0 1)))
+  
+  (operation channel-test (added-strand dev-up 3)
+    (ch-msg lk (cat pt-1 "st-k" d o k)) (0 1))
+  (strand-map 0)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o))))
+  (label 5)
+  (parent 4)
+  (unrealized (0 2) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (precedes ((1 4) (0 1)) ((2 0) (1 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 2) (0 1)))
+  
+  (operation channel-test (added-strand owner-power-dev 1)
+    (ch-msg start-ch (cat "power-up" d o k)) (1 0))
+  (strand-map 0 1)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k))))
+  (label 6)
+  (parent 5)
+  (unrealized (0 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 1)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 2) (0 1)) ((3 3) (0 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d o o)) (0 2))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load lk (cat pt-4 "st-k" d o k-0))
+      (load ls (cat pt-5 "st" d any)) (stor ls (cat pt "st" d o o))))
+  (label 7)
+  (parent 6)
+  (seen 8)
+  (seen-ops
+    (8
+      (operation channel-test (added-strand dev-up 3)
+        (ch-msg lk (cat pt-2 "st-k" d o k)) (3 1))
+      (strand-map 0 1 2 3)))
+  (unrealized (3 1))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 1)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 2) (0 1)) ((1 2) (3 1)) ((3 3) (0 2)))
+  
+  (operation channel-test (displaced 4 1 dev-up 3)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (3 1))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o))))
+  (label 8)
+  (parent 7)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-1 (1 2)) (pt (3 3)) (pt-3 (1 4)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol atomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (recv (enc "may I pass" k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-open
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
+          (p "dev-open" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
+          (p "dev-close" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
+          (p "dev-pass" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule intro-same-dev-up
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-open
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-close
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-pass
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defrule single-thread-up-up
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
+          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (or
+          (= x y)
+          (prec x (idx 4) y (idx 1))
+          (prec y (idx 4) x (idx 1))))))
+  (defrule single-thread-up-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-up-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-open-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-ls-open-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-close-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule atomic-up-pass
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
+          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+          (prec x (idx 2) y (idx 1)))
+        (prec x (idx 4) y (idx 1)))))
+  (defrule dev-up-completes
+    (forall ((x strd))
+      (implies (p "dev-up" x (idx 2)) (p "dev-up" x (idx 5)))))
+  (defrule dev-open-completes
+    (forall ((x strd))
+      (implies (p "dev-open" x (idx 2)) (p "dev-open" x (idx 4)))))
+  (defrule dev-close-completes
+    (forall ((x strd))
+      (implies (p "dev-close" x (idx 2)) (p "dev-close" x (idx 4)))))
+  (defrule dev-pass-completes
+    (forall ((x strd))
+      (implies (p "dev-pass" x (idx 2)) (p "dev-pass" x (idx 3)))))
+  (defrule dev-up-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec x i1 z (idx 4)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-up-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 4) x i1)))))
+  (defrule dev-open-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-open-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-close-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-close-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-pass-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec x i1 z (idx 2)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-pass-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 2) x i1)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 3) (idx 4)))))
+  (defgenrule st-sg-dev-open-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-close-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-pass-2
+    (forall ((z strd))
+      (implies (p "dev-pass" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2))))))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 9)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 1)))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 0) (1 1))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (1 1)) ((2 0) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 0))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))) ((send (enc "may I pass" k))))
+  (label 12)
+  (parent 11)
+  (unrealized (0 1) (1 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 1) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 0))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))) ((recv k) (send k)))
+  (label 13)
+  (parent 11)
+  (unrealized (0 1) (1 1) (1 2) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch start-ch-0 chan)
+    (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d-0) (o o-0)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  (auth start-ch-0)
+  
+  (leads-to ((3 2) (1 1)))
+  
+  (operation channel-test (added-strand dev-up 3)
+    (ch-msg lk (cat pt-1 "st-k" d-0 o-0 k)) (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d-0 o-0 k))
+      (load ls (cat pt "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))) ((send (enc "may I pass" k)))
+    ((recv start-ch-0 (cat "power-up" d-0 o-0 k))
+      (load lk (cat pt-0 old)) (stor lk (cat pt-1 "st-k" d-0 o-0 k))
+      (load ls (cat pt-2 old1)) (stor ls (cat pt-3 "st" d-0 o-0))))
+  (label 14)
+  (parent 12)
+  (unrealized (0 1) (1 2) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan)
+    (lk ls lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d-0) (o o-0)
+    (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (deflistener k)
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d-0) (o o-0)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (3 0)) ((2 1) (1 0)) ((3 4) (2 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  
+  (operation nonce-test (added-strand dev-up 3) k (2 0)
+    (ch-msg start-ch (cat "power-up" d-0 o-0 k)))
+  (strand-map 0 1 2)
+  (traces
+    ((send start-ch (cat "power-up" d-0 o-0 k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d o k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d-0 o-0 k))
+      (load lk-0 (cat pt-1 old)) (stor lk-0 (cat pt-2 "st-k" d-0 o-0 k))
+      (load ls-0 (cat pt-3 old1)) (stor ls-0 (cat pt-4 "st" d-0 o-0))))
+  (label 15)
+  (parent 13)
+  (unrealized (0 1) (1 1) (1 2) (2 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)))
+  
+  (operation channel-test (displaced 4 0 owner-power-dev 1)
+    (ch-msg start-ch-0 (cat "power-up" d-0 o-0 k)) (3 0))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o))))
+  (label 16)
+  (parent 14)
+  (unrealized (0 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (4 1)) ((4 3) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((4 3) (1 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d o o)) (1 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k-0)) (load lk (cat pt-4 "st-k" d o k-0))
+      (load ls (cat pt-5 "st" d any)) (stor ls (cat pt "st" d o o))))
+  (label 17)
+  (parent 16)
+  (seen 18)
+  (seen-ops
+    (18
+      (operation channel-test (added-strand dev-up 3)
+        (ch-msg lk (cat pt-2 "st-k" d o k)) (4 1))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (0 1) (4 1))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (4 1)) ((4 3) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))
+  
+  (operation channel-test (displaced 5 3 dev-up 3)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o))))
+  (label 18)
+  (parent 17)
+  (unrealized (0 1) (4 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (4 1)) ((4 3) (1 1))
+    ((5 0) (4 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))
+  
+  (operation encryption-test (added-strand owner-open 1)
+    (enc "open" d o n-0 k) (4 0))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))))
+  (label 19)
+  (parent 18)
+  (seen 21)
+  (seen-ops
+    (21
+      (operation encryption-test (added-strand dev-up 6) (enc "up" k)
+        (0 1)) (strand-map 0 1 2 5 3 4)))
+  (unrealized (0 1))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((2 0) (1 0)) ((3 4) (4 1))
+    ((4 3) (1 1)) ((5 1) (4 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))
+  
+  (operation encryption-test (added-listener k) (enc "open" d o n-0 k)
+    (4 0))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv k) (send k)))
+  (label 20)
+  (parent 18)
+  (seen 23)
+  (seen-ops
+    (23
+      (operation nonce-test (added-strand dev-up 3) k (5 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (0 1) (5 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (5 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 0) (3 0))
+    ((5 4) (3 1)) ((5 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 3) (1 2)) ((5 2) (1 1)) ((5 2) (3 1)))
+  
+  (operation encryption-test (displaced 3 6 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 2 5 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-2 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-2 "st-k" d o k))
+      (load ls (cat pt-0 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (stor lk (cat pt-2 "st-k" d o k)) (load ls (cat pt-3 old1))
+      (stor ls (cat pt-4 "st" d o)) (send (enc "up" k))))
+  (label 21)
+  (parent 19)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
+  (origs (pt-2 (5 2)) (pt-4 (5 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((2 0) (1 0)) ((3 4) (4 1))
+    ((4 3) (1 1)) ((5 0) (4 0)) ((6 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((recv k) (send k)))
+  (label 22)
+  (parent 19)
+  (seen 24)
+  (seen-ops
+    (24
+      (operation nonce-test (added-strand dev-up 3) k (6 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (6 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (5 0)) ((4 3) (1 1))
+    ((5 1) (4 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))
+  
+  (operation nonce-test (displaced 6 3 dev-up 3) k (5 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv k) (send k)))
+  (label 23)
+  (parent 20)
+  (unrealized (0 1) (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (3 0)) ((2 0) (1 0)) ((3 4) (4 1)) ((3 4) (6 0))
+    ((4 3) (1 1)) ((5 0) (4 0)) ((6 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))
+  
+  (operation nonce-test (displaced 7 3 dev-up 3) k (6 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((recv k) (send k)))
+  (label 24)
+  (parent 22)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-atomic-open-closed_shapes.tst b/tst/defact-atomic-open-closed_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-atomic-open-closed_shapes.tst
@@ -0,0 +1,968 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald atomic-open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/atomic-open-closed.scm")
+
+(comment "Strand count bounded at 44")
+
+(defprotocol atomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (recv (enc "may I pass" k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-open
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
+          (p "dev-open" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
+          (p "dev-close" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
+          (p "dev-pass" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule intro-same-dev-up
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-open
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-close
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-pass
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defrule single-thread-up-up
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
+          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (or
+          (= x y)
+          (prec x (idx 4) y (idx 1))
+          (prec y (idx 4) x (idx 1))))))
+  (defrule single-thread-up-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-up-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-open-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-ls-open-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-close-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule atomic-up-pass
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
+          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+          (prec x (idx 2) y (idx 1)))
+        (prec x (idx 4) y (idx 1)))))
+  (defrule dev-up-completes
+    (forall ((x strd))
+      (implies (p "dev-up" x (idx 2)) (p "dev-up" x (idx 5)))))
+  (defrule dev-open-completes
+    (forall ((x strd))
+      (implies (p "dev-open" x (idx 2)) (p "dev-open" x (idx 4)))))
+  (defrule dev-close-completes
+    (forall ((x strd))
+      (implies (p "dev-close" x (idx 2)) (p "dev-close" x (idx 4)))))
+  (defrule dev-pass-completes
+    (forall ((x strd))
+      (implies (p "dev-pass" x (idx 2)) (p "dev-pass" x (idx 3)))))
+  (defrule dev-up-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec x i1 z (idx 4)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-up-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 4) x i1)))))
+  (defrule dev-open-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-open-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-close-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-close-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-pass-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec x i1 z (idx 2)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-pass-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 2) x i1)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol atomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (recv (enc "may I pass" k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-open
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
+          (p "dev-open" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
+          (p "dev-close" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
+          (p "dev-pass" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule intro-same-dev-up
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-open
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-close
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-pass
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defrule single-thread-up-up
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
+          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (or
+          (= x y)
+          (prec x (idx 4) y (idx 1))
+          (prec y (idx 4) x (idx 1))))))
+  (defrule single-thread-up-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-up-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-open-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-ls-open-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-close-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule atomic-up-pass
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
+          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+          (prec x (idx 2) y (idx 1)))
+        (prec x (idx 4) y (idx 1)))))
+  (defrule dev-up-completes
+    (forall ((x strd))
+      (implies (p "dev-up" x (idx 2)) (p "dev-up" x (idx 5)))))
+  (defrule dev-open-completes
+    (forall ((x strd))
+      (implies (p "dev-open" x (idx 2)) (p "dev-open" x (idx 4)))))
+  (defrule dev-close-completes
+    (forall ((x strd))
+      (implies (p "dev-close" x (idx 2)) (p "dev-close" x (idx 4)))))
+  (defrule dev-pass-completes
+    (forall ((x strd))
+      (implies (p "dev-pass" x (idx 2)) (p "dev-pass" x (idx 3)))))
+  (defrule dev-up-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec x i1 z (idx 4)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-up-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 4) x i1)))))
+  (defrule dev-open-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-open-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-close-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-close-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-pass-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec x i1 z (idx 2)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-pass-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 2) x i1)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d o k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton atomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 1)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((1 2) (0 1)) ((1 2) (3 1)) ((3 3) (0 2)))
+  (operation channel-test (displaced 4 1 dev-up 3)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (3 1))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls (cat pt-2 old1))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-1 "st-k" d o k))
+      (load ls (cat pt-4 "st" d any)) (stor ls (cat pt "st" d o o))))
+  (label 8)
+  (parent 3)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-1 (1 2)) (pt (3 3)) (pt-3 (1 4)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol atomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (recv (enc "may I pass" k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-open
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-open" "d" z d) (p "dev-open" "o" z o)
+          (p "dev-open" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-close" "d" z d) (p "dev-close" "o" z o)
+          (p "dev-close" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o k mesg))
+      (implies
+        (and (p "dev-pass" "d" z d) (p "dev-pass" "o" z o)
+          (p "dev-pass" "k" z k))
+        (gen-st (cat "st-k" d o k)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule intro-same-dev-up
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" "lk" z lk) (p "dev-up" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-open
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" "lk" z lk) (p "dev-open" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-close
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" "lk" z lk) (p "dev-close" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule intro-same-dev-pass
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" "lk" z lk) (p "dev-pass" "ls" z ls))
+        (fact same-dev ls lk))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defrule single-thread-up-up
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-up" y (idx 5))
+          (p "dev-up" "lk" x lk) (p "dev-up" "lk" y lk))
+        (or
+          (= x y)
+          (prec x (idx 4) y (idx 1))
+          (prec y (idx 4) x (idx 1))))))
+  (defrule single-thread-up-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-open" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-up-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-close" y (idx 4))
+          (p "dev-up" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 4) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-open-open
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-open" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-open" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-ls-open-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-open" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-open" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or (prec x (idx 3) y (idx 1)) (prec y (idx 3) x (idx 1))))))
+  (defrule single-thread-close-close
+    (forall ((x y strd) (ls locn))
+      (implies
+        (and (p "dev-close" x (idx 4)) (p "dev-close" y (idx 4))
+          (p "dev-close" "ls" x ls) (p "dev-close" "ls" y ls))
+        (or
+          (= x y)
+          (prec x (idx 3) y (idx 1))
+          (prec y (idx 3) x (idx 1))))))
+  (defrule atomic-up-pass
+    (forall ((x y strd) (lk locn))
+      (implies
+        (and (p "dev-up" x (idx 5)) (p "dev-pass" y (idx 3))
+          (p "dev-up" "lk" x lk) (p "dev-pass" "lk" y lk)
+          (prec x (idx 2) y (idx 1)))
+        (prec x (idx 4) y (idx 1)))))
+  (defrule dev-up-completes
+    (forall ((x strd))
+      (implies (p "dev-up" x (idx 2)) (p "dev-up" x (idx 5)))))
+  (defrule dev-open-completes
+    (forall ((x strd))
+      (implies (p "dev-open" x (idx 2)) (p "dev-open" x (idx 4)))))
+  (defrule dev-close-completes
+    (forall ((x strd))
+      (implies (p "dev-close" x (idx 2)) (p "dev-close" x (idx 4)))))
+  (defrule dev-pass-completes
+    (forall ((x strd))
+      (implies (p "dev-pass" x (idx 2)) (p "dev-pass" x (idx 3)))))
+  (defrule dev-up-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec x i1 z (idx 4)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-up-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-up" z (idx 5)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 4) x i1)))))
+  (defrule dev-open-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-open-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-open" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-close-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec x i1 z (idx 3)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-close-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-close" z (idx 4)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 3) x i1)))))
+  (defrule dev-pass-atomic1
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec x i1 z (idx 2)))
+        (or (= x z) (prec x i1 z (idx 1))))))
+  (defrule dev-pass-atomic2
+    (forall ((x z strd) (i1 indx))
+      (implies
+        (and (p "dev-pass" z (idx 3)) (prec z (idx 1) x i1))
+        (or (= x z) (prec z (idx 2) x i1)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton atomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 9)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton atomic-open-closed
+  (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (5 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 0) (3 0))
+    ((5 4) (3 1)) ((5 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((3 3) (1 2)) ((5 2) (1 1)) ((5 2) (3 1)))
+  (operation encryption-test (displaced 3 6 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 2 5 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv (enc "may I pass" k)) (load lk (cat pt-2 "st-k" d o k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((recv (enc "open" d o n-0 k)) (load lk (cat pt-2 "st-k" d o k))
+      (load ls (cat pt-0 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (stor lk (cat pt-2 "st-k" d o k)) (load ls (cat pt-3 old1))
+      (stor ls (cat pt-4 "st" d o)) (send (enc "up" k))))
+  (label 21)
+  (parent 9)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
+  (origs (pt-2 (5 2)) (pt-4 (5 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-dhstatic-state.tst b/tst/defact-dhstatic-state.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-dhstatic-state.tst
@@ -0,0 +1,2913 @@
+(herald dhstatic-state (algebra diffie-hellman) (bound 16))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/dhstatic-state.scm")
+(comment "Strand count bounded at 16")
+
+(defprotocol dhstatic-state diffie-hellman
+  (defrole cert
+    (vars (subj ca name) (serial data) (galpha mesg))
+    (trace (recv (sig (cert-req subj galpha ca) (privk "sig" subj)))
+      (send (sig (cert subj galpha ca serial) (privk "sig" ca))))
+    (uniq-orig serial)
+    (comment "Certificate Authority"))
+  (defrole get-cert
+    (vars (self ca name) (serial data) (ra rndx) (static-key locn)
+      (ignore mesg))
+    (trace
+      (send (sig (cert-req self (exp (gen) ra) ca) (privk "sig" self)))
+      (recv (sig (cert self (exp (gen) ra) ca serial) (privk "sig" ca)))
+      (load static-key ignore)
+      (stor static-key (cat "privkey" self ra serial ca)))
+    (uniq-gen ra)
+    (comment "Get certified"))
+  (defrole init
+    (vars (a b ca name) (ra rndx) (serial-a serial-b data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n))
+    (uniq-orig n)
+    (gen-st (cat "privkey" a ra serial-a ca))
+    
+    (comment "Initiator is A"))
+  (defrole resp
+    (vars (a b ca name) (rb rndx) (serial-b serial-a data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n))
+    
+    (gen-st (cat "privkey" b rb serial-b ca))
+    (comment "Responder is B"))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-init-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "init" z (idx 2)) (p "init" "a" z a) (p "init" "b" z b))
+        (fact neq a b))))
+  (defgenrule fact-resp-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "resp" z (idx 2)) (p "resp" "a" z a) (p "resp" "b" z b))
+        (fact neq a b))))
+  (defgenrule trRl_get-cert-at-3
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_get-cert-at-2
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule gen-st-init-0
+    (forall ((z strd) (a name) (ra rndx) (serial-a data) (ca name))
+      (implies
+        (and (p "init" z (idx 1)) (p "init" "ca" z ca)
+          (p "init" "serial-a" z serial-a) (p "init" "ra" z ra)
+          (p "init" "a" z a))
+        (gen-st (cat "privkey" a ra serial-a ca)))))
+  (defgenrule gen-st-resp-0
+    (forall ((z strd) (b name) (rb rndx) (serial-b data) (ca name))
+      (implies
+        (and (p "resp" z (idx 1)) (p "resp" "ca" z ca)
+          (p "resp" "serial-b" z serial-b) (p "resp" "rb" z rb)
+          (p "resp" "b" z b))
+        (gen-st (cat "privkey" b rb serial-b ca)))))
+  (lang (cert-req (tupl 3)) (cert (tupl 4)) (sig sign)))
+
+(defskeleton dhstatic-state
+  (vars (serial-a serial-b data) (n text) (ca b a name) (pt pval)
+    (static-key locn) (ra rndx) (alpha expt))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha alpha))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig n)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n)))
+  (label 0)
+  (unrealized (0 1))
+  (origs (n (0 2)))
+  (comment "Not closed under rules"))
+
+(defskeleton dhstatic-state
+  (vars (serial-a serial-b data) (n text) (ca b a name) (pt pval)
+    (static-key locn) (ra rndx) (alpha expt))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha alpha))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig n)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 0) (0 1))
+  (origs (n (0 2)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (alpha expt) (ra rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha alpha))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (precedes ((1 3) (0 0)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig n)
+  (uniq-gen ra)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation channel-test (added-strand get-cert 4)
+    (ch-msg static-key (cat pt "privkey" a ra serial-a ca)) (0 0))
+  (strand-map 0)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul alpha ra))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (alpha expt) (ra rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha alpha))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a n)
+  (uniq-gen ra)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)) (1 1))
+  (strand-map 0 1)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul alpha ra))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (alpha expt) (ra rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha alpha))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) alpha)) (serial serial-b)
+    (subj b) (ca ca))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((3 1) (0 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)) (0 1))
+  (strand-map 0 1 2)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul alpha ra))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) alpha) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))))
+  (label 4)
+  (parent 3)
+  (unrealized (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((3 1) (0 1))
+    ((4 0) (3 0)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand get-cert 1)
+    (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))))
+  (label 5)
+  (parent 4)
+  (unrealized (0 3))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pval)
+    (static-key static-key-0 locn) (ra ra-0 rb rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb rb)
+    (alpha (mul ra ra-0 (rec rb))))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (5 0)) ((4 0) (3 0))
+    ((5 3) (0 3)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b rb serial-b ca-0)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (added-strand resp 4) n (0 3)
+    (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b rb serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra ra-0 (rec rb))) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n)))
+  (label 6)
+  (parent 5)
+  (unrealized (5 0) (5 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (5 0)) ((5 1) (0 3)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (added-listener (exp (gen) (mul ra ra-0))) n
+    (0 3) (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0)))))
+  (label 7)
+  (parent 5)
+  (unrealized (5 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (b a ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key-0) (rb ra-0) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((0 2) (4 2)) ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1)) ((4 3) (0 3))
+    ((5 0) (3 0)) ((5 3) (4 0)))
+  (non-orig (privk "sig" b) (privk "sig" ca))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra-0 serial-b ca)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation channel-test (displaced 4 6 get-cert 4)
+    (ch-msg static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca)) (5 0))
+  (strand-map 0 1 2 3 5 4)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-0 serial-b ca))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-0 serial-b ca))))
+  (label 8)
+  (parent 6)
+  (realized)
+  (shape)
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
+  (origs (pt-1 (5 3)) (serial-b (3 1)) (serial-a (2 1)) (pt (1 3))
+    (n (0 2)))
+  (ugens (ra-0 (5 0)) (ra (1 0))))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0))
+    ((5 3) (0 3)) ((6 3) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra-1 serial-b ca-0)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation channel-test (added-strand get-cert 4)
+    (ch-msg static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))
+    (5 0))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-1) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))))
+  (label 9)
+  (parent 6)
+  (unrealized (5 1))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (6 0)) ((5 1) (0 3))
+    ((6 1) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (added-listener (cat (exp (gen) ra) ra-0))
+    (exp (gen) (mul ra ra-0)) (5 0))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0))))
+  (label 10)
+  (parent 7)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra-0) ra))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (6 0)) ((5 1) (0 3))
+    ((6 1) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (added-listener (cat (exp (gen) ra-0) ra))
+    (exp (gen) (mul ra ra-0)) (5 0))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra-0) ra)) (send (cat (exp (gen) ra-0) ra))))
+  (label 11)
+  (parent 7)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra ra-0)) ra-1))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1))
+    ((4 0) (3 0)) ((4 0) (7 0)) ((5 3) (0 3)) ((6 0) (7 0))
+    ((6 3) (5 0)) ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra-1 serial-b ca-0)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul ra ra-0)) ra-1))
+    (exp (gen) (mul ra ra-0 (rec ra-1))) (5 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-1) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0)))
+    ((recv (cat (exp (gen) (mul ra ra-0)) ra-1))
+      (send (cat (exp (gen) (mul ra ra-0)) ra-1))))
+  (label 12)
+  (parent 9)
+  (unrealized (7 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-1))) ra-0))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1))
+    ((4 0) (3 0)) ((4 0) (7 0)) ((5 3) (0 3)) ((6 0) (7 0))
+    ((6 3) (5 0)) ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra-1 serial-b ca-0)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul ra (rec ra-1))) ra-0))
+    (exp (gen) (mul ra ra-0 (rec ra-1))) (5 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-1) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-1))) ra-0))
+      (send (cat (exp (gen) (mul ra (rec ra-1))) ra-0))))
+  (label 13)
+  (parent 9)
+  (unrealized (7 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1))
+    ((4 0) (3 0)) ((4 0) (7 0)) ((5 3) (0 3)) ((6 0) (7 0))
+    ((6 3) (5 0)) ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra-1 serial-b ca-0)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))
+    (exp (gen) (mul ra ra-0 (rec ra-1))) (5 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-1) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0)))
+    ((recv (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))
+      (send (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))))
+  (label 14)
+  (parent 9)
+  (unrealized (7 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b serial data) (n text)
+    (a self ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b self) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b)
+    (subj self) (ca ca))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 1) (0 3)) ((5 1) (4 0)) ((6 0) (3 0))
+    ((6 3) (5 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (displaced 4 7 get-cert 4) ra-0 (6 0))
+  (strand-map 0 1 2 3 6 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a self serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial-b)
+          (privk "sig" ca))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0)))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)))
+      (load static-key-0 (cat pt-1 ignore-0))
+      (stor static-key-0 (cat pt-2 "privkey" self ra-0 serial ca))))
+  (label 15)
+  (parent 10)
+  (unrealized (5 0) (6 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-a serial-b data) (n text) (ca b a name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra-0) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((1 3) (6 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (6 0)) ((5 1) (0 3))
+    ((6 1) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra-0 serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (displaced 7 1 get-cert 4) ra-0 (6 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra-0 serial-a ca))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra-0 serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0))))
+  (label 16)
+  (parent 11)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra ra-0)) ra-1))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1))
+    ((4 0) (3 0)) ((5 3) (0 3)) ((6 3) (5 0)) ((6 3) (7 0))
+    ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra-1 serial-b ca-0)
+    (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test (displaced 8 6 get-cert 4) ra-1 (7 0))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-1) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca-0)))
+    ((recv (cat (exp (gen) (mul ra ra-0)) ra-1))
+      (send (cat (exp (gen) (mul ra ra-0)) ra-1))))
+  (label 17)
+  (parent 12)
+  (unrealized (7 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 ignore-1 mesg) (serial-a serial-b serial data)
+    (n text) (a ca self ca-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (static-key static-key-0 static-key-1 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b self) (ca ca-0) (static-key static-key) (ra ra) (alpha ra-1))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-b)
+    (subj self) (ca ca-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b self) (ca ca) (static-key static-key-0) (rb ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (defstrand get-cert 4 (ignore ignore-1) (serial serial) (self self)
+    (ca ca-0) (static-key static-key-1) (ra ra-1))
+  (precedes ((0 2) (4 2)) ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1))
+    ((4 3) (0 3)) ((5 0) (6 0)) ((5 3) (4 0)) ((6 1) (4 1))
+    ((7 0) (3 0)) ((7 3) (6 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca-0))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra serial-a ca-0)
+    (cat "privkey" self ra-0 serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation nonce-test (displaced 4 8 get-cert 4) ra-1 (7 0))
+  (strand-map 0 1 2 3 7 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca-0))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a self serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra) ca-0 serial-a) (privk "sig" ca-0)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca-0)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca-0) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra) ca-0 serial-a) (privk "sig" ca-0))))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))))
+    ((load static-key-0 (cat pt-1 "privkey" self ra-0 serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) (mul ra (rec ra-0) ra-1)) ca serial-a)
+          (privk "sig" ca)))
+      (recv (enc n a self serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" self ra-0 serial-b ca)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1)))
+    ((send
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial)
+          (privk "sig" ca-0))) (load static-key-1 (cat pt-3 ignore-1))
+      (stor static-key-1 (cat pt-4 "privkey" self ra-1 serial ca-0))))
+  (label 18)
+  (parent 13)
+  (unrealized (6 0) (7 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (ca b a ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra-1) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra-1))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand get-cert 1 (self b) (ca ca) (ra ra))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (rb ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (precedes ((0 2) (5 2)) ((1 0) (2 0)) ((1 3) (0 0)) ((1 3) (7 0))
+    ((2 1) (1 1)) ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0))
+    ((4 0) (7 0)) ((5 3) (0 3)) ((6 0) (7 0)) ((6 3) (5 0))
+    ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra-0 serial-b ca-0)
+    (cat "privkey" a ra-1 serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test (displaced 8 1 get-cert 4) ra-1 (7 0))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" a ra-1 serial-a ca))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra-1) ca) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-1) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra-1 serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra-1) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-1) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-0 serial-b ca-0))
+      (recv
+        (sig (cert a (exp (gen) (mul ra (rec ra-0) ra-1)) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-0 serial-b ca-0)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1))))
+  (label 19)
+  (parent 14)
+  (unrealized (7 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (a self ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b self) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b)
+    (subj self) (ca ca))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((3 1) (6 1)) ((4 1) (0 3)) ((5 1) (4 0))
+    ((6 0) (3 0)) ((6 3) (5 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (displaced 7 3 cert 2)
+    (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a self serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial-b)
+          (privk "sig" ca))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0)))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key-0 (cat pt-1 ignore-0))
+      (stor static-key-0 (cat pt-2 "privkey" self ra-0 serial-b ca))))
+  (label 20)
+  (parent 15)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b serial data) (n text)
+    (a self ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b self) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b)
+    (subj self) (ca ca))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial)
+    (subj self) (ca ca))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 1) (0 3)) ((5 1) (4 0)) ((6 0) (3 0))
+    ((6 0) (7 0)) ((6 3) (5 0)) ((7 1) (6 1)))
+  (non-orig (privk "sig" self) (privk "sig" ca))
+  (uniq-orig serial-a serial-b serial n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra serial-a ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a self serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial-b)
+          (privk "sig" ca))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0)))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)))
+      (load static-key-0 (cat pt-1 ignore-0))
+      (stor static-key-0 (cat pt-2 "privkey" self ra-0 serial ca)))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)))))
+  (label 21)
+  (parent 15)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 ignore-1 mesg) (serial-a serial-b data)
+    (n text) (a ca self ca-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (static-key static-key-0 static-key-1 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b self) (ca ca-0) (static-key static-key) (ra ra) (alpha ra-1))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-b)
+    (subj self) (ca ca-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b self) (ca ca) (static-key static-key-0) (rb ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (defstrand get-cert 4 (ignore ignore-1) (serial serial-b) (self self)
+    (ca ca-0) (static-key static-key-1) (ra ra-1))
+  (precedes ((0 2) (4 2)) ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1))
+    ((3 1) (7 1)) ((4 3) (0 3)) ((5 0) (6 0)) ((5 3) (4 0))
+    ((6 1) (4 1)) ((7 0) (3 0)) ((7 3) (6 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca-0))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra serial-a ca-0)
+    (cat "privkey" self ra-0 serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation encryption-test (displaced 8 3 cert 2)
+    (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0))
+    (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca-0))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a self serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra) ca-0 serial-a) (privk "sig" ca-0)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca-0)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca-0) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra) ca-0 serial-a) (privk "sig" ca-0))))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))))
+    ((load static-key-0 (cat pt-1 "privkey" self ra-0 serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) (mul ra (rec ra-0) ra-1)) ca serial-a)
+          (privk "sig" ca)))
+      (recv (enc n a self serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" self ra-0 serial-b ca)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1)))
+    ((send
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))) (load static-key-1 (cat pt-3 ignore-1))
+      (stor static-key-1 (cat pt-4 "privkey" self ra-1 serial-b ca-0))))
+  (label 22)
+  (parent 18)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 ignore-1 mesg) (serial-a serial-b serial data)
+    (n text) (a ca self ca-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (static-key static-key-0 static-key-1 locn) (ra ra-0 ra-1 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b self) (ca ca-0) (static-key static-key) (ra ra) (alpha ra-1))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-b)
+    (subj self) (ca ca-0))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b self) (ca ca) (static-key static-key-0) (rb ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (defstrand get-cert 4 (ignore ignore-1) (serial serial) (self self)
+    (ca ca-0) (static-key static-key-1) (ra ra-1))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial)
+    (subj self) (ca ca-0))
+  (precedes ((0 2) (4 2)) ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0))
+    ((2 1) (1 1)) ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1))
+    ((4 3) (0 3)) ((5 0) (6 0)) ((5 3) (4 0)) ((6 1) (4 1))
+    ((7 0) (3 0)) ((7 0) (8 0)) ((7 3) (6 0)) ((8 1) (7 1)))
+  (non-orig (privk "sig" self) (privk "sig" ca-0))
+  (uniq-orig serial-a serial-b serial n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra serial-a ca-0)
+    (cat "privkey" self ra-0 serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0))
+    (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca-0))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a self serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra) ca-0 serial-a) (privk "sig" ca-0)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca-0)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca-0) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra) ca-0 serial-a) (privk "sig" ca-0))))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-b)
+          (privk "sig" ca-0))))
+    ((load static-key-0 (cat pt-1 "privkey" self ra-0 serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) (mul ra (rec ra-0) ra-1)) ca serial-a)
+          (privk "sig" ca)))
+      (recv (enc n a self serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" self ra-0 serial-b ca)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1)))
+    ((send
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial)
+          (privk "sig" ca-0))) (load static-key-1 (cat pt-3 ignore-1))
+      (stor static-key-1 (cat pt-4 "privkey" self ra-1 serial ca-0)))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial)
+          (privk "sig" ca-0)))))
+  (label 23)
+  (parent 18)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol dhstatic-state diffie-hellman
+  (defrole cert
+    (vars (subj ca name) (serial data) (galpha mesg))
+    (trace (recv (sig (cert-req subj galpha ca) (privk "sig" subj)))
+      (send (sig (cert subj galpha ca serial) (privk "sig" ca))))
+    (uniq-orig serial)
+    (comment "Certificate Authority"))
+  (defrole get-cert
+    (vars (self ca name) (serial data) (ra rndx) (static-key locn)
+      (ignore mesg))
+    (trace
+      (send (sig (cert-req self (exp (gen) ra) ca) (privk "sig" self)))
+      (recv (sig (cert self (exp (gen) ra) ca serial) (privk "sig" ca)))
+      (load static-key ignore)
+      (stor static-key (cat "privkey" self ra serial ca)))
+    (uniq-gen ra)
+    (comment "Get certified"))
+  (defrole init
+    (vars (a b ca name) (ra rndx) (serial-a serial-b data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n))
+    (uniq-orig n)
+    (gen-st (cat "privkey" a ra serial-a ca))
+    
+    (comment "Initiator is A"))
+  (defrole resp
+    (vars (a b ca name) (rb rndx) (serial-b serial-a data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n))
+    
+    (gen-st (cat "privkey" b rb serial-b ca))
+    (comment "Responder is B"))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-init-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "init" z (idx 2)) (p "init" "a" z a) (p "init" "b" z b))
+        (fact neq a b))))
+  (defgenrule fact-resp-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "resp" z (idx 2)) (p "resp" "a" z a) (p "resp" "b" z b))
+        (fact neq a b))))
+  (defgenrule trRl_get-cert-at-3
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_get-cert-at-2
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule gen-st-init-0
+    (forall ((z strd) (a name) (ra rndx) (serial-a data) (ca name))
+      (implies
+        (and (p "init" z (idx 1)) (p "init" "ca" z ca)
+          (p "init" "serial-a" z serial-a) (p "init" "ra" z ra)
+          (p "init" "a" z a))
+        (gen-st (cat "privkey" a ra serial-a ca)))))
+  (defgenrule gen-st-resp-0
+    (forall ((z strd) (b name) (rb rndx) (serial-b data) (ca name))
+      (implies
+        (and (p "resp" z (idx 1)) (p "resp" "ca" z ca)
+          (p "resp" "serial-b" z serial-b) (p "resp" "rb" z rb)
+          (p "resp" "b" z b))
+        (gen-st (cat "privkey" b rb serial-b ca)))))
+  (lang (cert-req (tupl 3)) (cert (tupl 4)) (sig sign)))
+
+(defskeleton dhstatic-state
+  (vars (serial-b serial-a data) (n text) (ca a b name) (pt pval)
+    (static-key locn) (rb rndx) (alpha expt))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb rb) (alpha alpha))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (traces
+    ((load static-key (cat pt "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n)))
+  (label 24)
+  (unrealized (0 1))
+  (origs)
+  (comment "Not closed under rules"))
+
+(defskeleton dhstatic-state
+  (vars (serial-b serial-a data) (n text) (ca a b name) (pt pval)
+    (static-key locn) (rb rndx) (alpha expt))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb rb) (alpha alpha))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (gen-st (cat "privkey" b rb serial-b ca))
+  
+  
+  (traces
+    ((load static-key (cat pt "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n)))
+  (label 25)
+  (parent 24)
+  (unrealized (0 0) (0 1))
+  (origs)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (alpha expt) (ra rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha alpha))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (precedes ((1 3) (0 0)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-gen ra)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation channel-test (added-strand get-cert 4)
+    (ch-msg static-key (cat pt "privkey" b ra serial-b ca)) (0 0))
+  (strand-map 0)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul alpha ra))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca))))
+  (label 26)
+  (parent 25)
+  (unrealized (0 1) (1 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (alpha expt) (ra rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha alpha))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b)
+  (uniq-gen ra)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)) (1 1))
+  (strand-map 0 1)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul alpha ra))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))))
+  (label 27)
+  (parent 26)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (alpha expt) (ra rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha alpha))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) alpha)) (serial serial-a)
+    (subj a) (ca ca))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((3 1) (0 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)) (0 1))
+  (strand-map 0 1 2)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul alpha ra))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) alpha) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))))
+  (label 28)
+  (parent 27)
+  (unrealized (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((3 1) (0 1))
+    ((4 0) (3 0)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand get-cert 1)
+    (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))))
+  (label 29)
+  (parent 28)
+  (unrealized (0 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((2 1) (5 1))
+    ((3 1) (0 1)) ((3 1) (5 0)) ((4 0) (3 0)) ((5 2) (0 2)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra-1 serial-a ca-0)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand init 3)
+    (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))))
+  (label 30)
+  (parent 29)
+  (unrealized (5 0) (5 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (5 0)) ((5 1) (0 2)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-listener (exp (gen) (mul ra ra-0)))
+    (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0)))))
+  (label 31)
+  (parent 29)
+  (unrealized (5 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (a b ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key-0) (ra ra-0) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((2 1) (4 1))
+    ((3 1) (0 1)) ((3 1) (5 1)) ((4 2) (0 2)) ((5 0) (3 0))
+    ((5 3) (4 0)))
+  (non-orig (privk "sig" a) (privk "sig" ca))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra-0 serial-a ca)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation channel-test (displaced 4 6 get-cert 4)
+    (ch-msg static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca)) (5 0))
+  (strand-map 0 1 2 3 5 4)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-0 serial-a ca))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-0 serial-a ca))))
+  (label 32)
+  (parent 30)
+  (realized)
+  (shape)
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
+  (origs (pt-1 (5 3)) (n (4 2)) (serial-a (3 1)) (serial-b (2 1))
+    (pt (1 3)))
+  (ugens (ra-0 (5 0)) (ra (1 0))))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((2 1) (5 1))
+    ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0)) ((5 2) (0 2))
+    ((6 3) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra-1 serial-a ca-0)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation channel-test (added-strand get-cert 4)
+    (ch-msg static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+    (5 0))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-1) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))))
+  (label 33)
+  (parent 30)
+  (unrealized (5 1))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (6 0)) ((5 1) (0 2))
+    ((6 1) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (added-listener (cat (exp (gen) ra) ra-0))
+    (exp (gen) (mul ra ra-0)) (5 0))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0))))
+  (label 34)
+  (parent 31)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra-0) ra))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (6 0)) ((5 1) (0 2))
+    ((6 1) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (added-listener (cat (exp (gen) ra-0) ra))
+    (exp (gen) (mul ra ra-0)) (5 0))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra-0) ra)) (send (cat (exp (gen) ra-0) ra))))
+  (label 35)
+  (parent 31)
+  (unrealized (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra ra-0)) ra-1))
+  (precedes ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0))
+    ((4 0) (7 0)) ((5 2) (0 2)) ((6 0) (7 0)) ((6 3) (5 0))
+    ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra-1 serial-a ca-0)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul ra ra-0)) ra-1))
+    (exp (gen) (mul ra ra-0 (rec ra-1))) (5 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-1) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0)))
+    ((recv (cat (exp (gen) (mul ra ra-0)) ra-1))
+      (send (cat (exp (gen) (mul ra ra-0)) ra-1))))
+  (label 36)
+  (parent 33)
+  (unrealized (7 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-1))) ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0))
+    ((4 0) (7 0)) ((5 2) (0 2)) ((6 0) (7 0)) ((6 3) (5 0))
+    ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra-1 serial-a ca-0)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul ra (rec ra-1))) ra-0))
+    (exp (gen) (mul ra ra-0 (rec ra-1))) (5 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-1) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-1))) ra-0))
+      (send (cat (exp (gen) (mul ra (rec ra-1))) ra-0))))
+  (label 37)
+  (parent 33)
+  (unrealized (7 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))
+  (precedes ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0))
+    ((4 0) (7 0)) ((5 2) (0 2)) ((6 0) (7 0)) ((6 3) (5 0))
+    ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra-1 serial-a ca-0)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test
+    (added-listener (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))
+    (exp (gen) (mul ra ra-0 (rec ra-1))) (5 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-1) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0)))
+    ((recv (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))
+      (send (cat (exp (gen) (mul ra-0 (rec ra-1))) ra))))
+  (label 38)
+  (parent 33)
+  (unrealized (7 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a serial data) (n text)
+    (b self ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n)
+    (a self) (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a)
+    (subj self) (ca ca))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 1) (0 2)) ((5 1) (4 0)) ((6 0) (3 0))
+    ((6 3) (5 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (displaced 4 7 get-cert 4) ra-0 (6 0))
+  (strand-map 0 1 2 3 6 4 5)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n self b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial-a)
+          (privk "sig" ca))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0)))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)))
+      (load static-key-0 (cat pt-1 ignore-0))
+      (stor static-key-0 (cat pt-2 "privkey" self ra-0 serial ca))))
+  (label 39)
+  (parent 34)
+  (unrealized (5 0) (6 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore mesg) (serial-b serial-a data) (n text) (ca a b name)
+    (pt pt-0 pval) (static-key locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra-0) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((1 3) (6 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 0) (3 0)) ((4 0) (6 0)) ((5 1) (0 2))
+    ((6 1) (5 0)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra-0 serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation nonce-test (displaced 7 1 get-cert 4) ra-0 (6 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra-0 serial-b ca))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra-0 serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0))))
+  (label 40)
+  (parent 35)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-1)
+    (alpha (mul ra ra-0 (rec ra-1))))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key-0) (ra ra-1))
+  (deflistener (cat (exp (gen) (mul ra ra-0)) ra-1))
+  (precedes ((1 0) (2 0)) ((1 0) (7 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (5 1)) ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0))
+    ((5 2) (0 2)) ((6 3) (5 0)) ((6 3) (7 0)) ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra-1 serial-a ca-0)
+    (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test (displaced 8 6 get-cert 4) ra-1 (7 0))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra ra-0 (rec ra-1))) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-1) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca-0)))
+    ((recv (cat (exp (gen) (mul ra ra-0)) ra-1))
+      (send (cat (exp (gen) (mul ra ra-0)) ra-1))))
+  (label 41)
+  (parent 36)
+  (unrealized (7 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 ignore-1 mesg) (serial-b serial-a serial data)
+    (n text) (b ca self ca-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (static-key static-key-0 static-key-1 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n)
+    (a self) (b b) (ca ca-0) (static-key static-key) (rb ra)
+    (alpha ra-1))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-a)
+    (subj self) (ca ca-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n)
+    (a self) (b b) (ca ca) (static-key static-key-0) (ra ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (defstrand get-cert 4 (ignore ignore-1) (serial serial) (self self)
+    (ca ca-0) (static-key static-key-1) (ra ra-1))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1)) ((4 2) (0 2))
+    ((5 0) (6 0)) ((5 3) (4 0)) ((6 1) (4 1)) ((7 0) (3 0))
+    ((7 3) (6 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca-0))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra serial-b ca-0)
+    (cat "privkey" self ra-0 serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation nonce-test (displaced 4 8 get-cert 4) ra-1 (7 0))
+  (strand-map 0 1 2 3 7 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca-0))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n self b serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra) ca-0 serial-b) (privk "sig" ca-0)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca-0)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca-0) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra) ca-0 serial-b) (privk "sig" ca-0))))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))))
+    ((load static-key-0 (cat pt-1 "privkey" self ra-0 serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) (mul ra (rec ra-0) ra-1)) ca serial-b)
+          (privk "sig" ca)))
+      (send (enc n self b serial-a serial-b (exp (gen) (mul ra ra-1)))))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" self ra-0 serial-a ca)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1)))
+    ((send
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial)
+          (privk "sig" ca-0))) (load static-key-1 (cat pt-3 ignore-1))
+      (stor static-key-1 (cat pt-4 "privkey" self ra-1 serial ca-0))))
+  (label 42)
+  (parent 37)
+  (unrealized (6 0) (7 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (ca a b ca-0 name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra-1) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra-1))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand get-cert 1 (self a) (ca ca) (ra ra))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca-0) (static-key static-key-0) (ra ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca-0) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((1 3) (7 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((3 1) (6 1)) ((4 0) (3 0)) ((4 0) (7 0))
+    ((5 2) (0 2)) ((6 0) (7 0)) ((6 3) (5 0)) ((7 1) (5 1)))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" a ra-0 serial-a ca-0)
+    (cat "privkey" b ra-1 serial-b ca))
+  
+  (leads-to ((1 3) (0 0)) ((6 3) (5 0)))
+  
+  (operation nonce-test (displaced 8 1 get-cert 4) ra-1 (7 0))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" b ra-1 serial-b ca))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-1) ca) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-1) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra-1 serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra-1) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-1) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-0 serial-a ca-0))
+      (recv
+        (sig (cert b (exp (gen) (mul ra (rec ra-0) ra-1)) ca-0 serial-b)
+          (privk "sig" ca-0)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-1)))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca-0) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-0 serial-a ca-0)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1))))
+  (label 43)
+  (parent 38)
+  (unrealized (7 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (b self ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n)
+    (a self) (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a)
+    (subj self) (ca ca))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((3 1) (6 1)) ((4 1) (0 2)) ((5 1) (4 0))
+    ((6 0) (3 0)) ((6 3) (5 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca))
+  (uniq-orig serial-b serial-a)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (displaced 7 3 cert 2)
+    (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n self b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial-a)
+          (privk "sig" ca))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0)))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key-0 (cat pt-1 ignore-0))
+      (stor static-key-0 (cat pt-2 "privkey" self ra-0 serial-a ca))))
+  (label 44)
+  (parent 39)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a serial data) (n text)
+    (b self ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n)
+    (a self) (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a)
+    (subj self) (ca ca))
+  (deflistener (exp (gen) (mul ra ra-0)))
+  (deflistener (cat (exp (gen) ra) ra-0))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial)
+    (subj self) (ca ca))
+  (precedes ((1 0) (2 0)) ((1 0) (5 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((3 1) (0 1)) ((4 1) (0 2)) ((5 1) (4 0)) ((6 0) (3 0))
+    ((6 0) (7 0)) ((6 3) (5 0)) ((7 1) (6 1)))
+  (non-orig (privk "sig" self) (privk "sig" ca))
+  (uniq-orig serial-b serial-a serial)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra serial-b ca))
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n self b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial-a)
+          (privk "sig" ca))))
+    ((recv (exp (gen) (mul ra ra-0))) (send (exp (gen) (mul ra ra-0))))
+    ((recv (cat (exp (gen) ra) ra-0)) (send (cat (exp (gen) ra) ra-0)))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)))
+      (load static-key-0 (cat pt-1 ignore-0))
+      (stor static-key-0 (cat pt-2 "privkey" self ra-0 serial ca)))
+    ((recv (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-0) ca serial) (privk "sig" ca)))))
+  (label 45)
+  (parent 39)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 ignore-1 mesg) (serial-b serial-a data)
+    (n text) (b ca self ca-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (static-key static-key-0 static-key-1 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n)
+    (a self) (b b) (ca ca-0) (static-key static-key) (rb ra)
+    (alpha ra-1))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-a)
+    (subj self) (ca ca-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n)
+    (a self) (b b) (ca ca) (static-key static-key-0) (ra ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (defstrand get-cert 4 (ignore ignore-1) (serial serial-a) (self self)
+    (ca ca-0) (static-key static-key-1) (ra ra-1))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1)) ((3 1) (7 1))
+    ((4 2) (0 2)) ((5 0) (6 0)) ((5 3) (4 0)) ((6 1) (4 1))
+    ((7 0) (3 0)) ((7 3) (6 0)))
+  (non-orig (privk "sig" self) (privk "sig" ca-0))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra serial-b ca-0)
+    (cat "privkey" self ra-0 serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation encryption-test (displaced 8 3 cert 2)
+    (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0))
+    (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca-0))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n self b serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra) ca-0 serial-b) (privk "sig" ca-0)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca-0)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca-0) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra) ca-0 serial-b) (privk "sig" ca-0))))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))))
+    ((load static-key-0 (cat pt-1 "privkey" self ra-0 serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) (mul ra (rec ra-0) ra-1)) ca serial-b)
+          (privk "sig" ca)))
+      (send (enc n self b serial-a serial-b (exp (gen) (mul ra ra-1)))))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" self ra-0 serial-a ca)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1)))
+    ((send
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))) (load static-key-1 (cat pt-3 ignore-1))
+      (stor static-key-1 (cat pt-4 "privkey" self ra-1 serial-a ca-0))))
+  (label 46)
+  (parent 42)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 ignore-1 mesg) (serial-b serial-a serial data)
+    (n text) (b ca self ca-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (static-key static-key-0 static-key-1 locn) (ra ra-0 ra-1 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n)
+    (a self) (b b) (ca ca-0) (static-key static-key) (rb ra)
+    (alpha ra-1))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca-0) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca-0))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial-a)
+    (subj self) (ca ca-0))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n)
+    (a self) (b b) (ca ca) (static-key static-key-0) (ra ra-0)
+    (alpha (mul ra (rec ra-0) ra-1)))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self self)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (deflistener (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+  (defstrand get-cert 4 (ignore ignore-1) (serial serial) (self self)
+    (ca ca-0) (static-key static-key-1) (ra ra-1))
+  (defstrand cert 2 (galpha (exp (gen) ra-1)) (serial serial)
+    (subj self) (ca ca-0))
+  (precedes ((1 0) (2 0)) ((1 0) (6 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1)) ((4 2) (0 2))
+    ((5 0) (6 0)) ((5 3) (4 0)) ((6 1) (4 1)) ((7 0) (3 0))
+    ((7 0) (8 0)) ((7 3) (6 0)) ((8 1) (7 1)))
+  (non-orig (privk "sig" self) (privk "sig" ca-0))
+  (uniq-orig serial-b serial-a serial n)
+  (uniq-gen ra ra-0 ra-1)
+  (gen-st (cat "privkey" b ra serial-b ca-0)
+    (cat "privkey" self ra-0 serial-a ca))
+  
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  
+  (operation encryption-test (added-strand cert 2)
+    (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0))
+    (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca-0))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0)))
+      (recv (enc n self b serial-a serial-b (exp (gen) (mul ra ra-1))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca-0) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra) ca-0 serial-b) (privk "sig" ca-0)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca-0)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca-0) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra) ca-0 serial-b) (privk "sig" ca-0))))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial-a)
+          (privk "sig" ca-0))))
+    ((load static-key-0 (cat pt-1 "privkey" self ra-0 serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) (mul ra (rec ra-0) ra-1)) ca serial-b)
+          (privk "sig" ca)))
+      (send (enc n self b serial-a serial-b (exp (gen) (mul ra ra-1)))))
+    ((send (sig (cert-req self (exp (gen) ra-0) ca) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" self ra-0 serial-a ca)))
+    ((recv (cat (exp (gen) (mul ra (rec ra-0))) ra-1))
+      (send (cat (exp (gen) (mul ra (rec ra-0))) ra-1)))
+    ((send
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (recv
+        (sig (cert self (exp (gen) ra-1) ca-0 serial)
+          (privk "sig" ca-0))) (load static-key-1 (cat pt-3 ignore-1))
+      (stor static-key-1 (cat pt-4 "privkey" self ra-1 serial ca-0)))
+    ((recv
+       (sig (cert-req self (exp (gen) ra-1) ca-0) (privk "sig" self)))
+      (send
+        (sig (cert self (exp (gen) ra-1) ca-0 serial)
+          (privk "sig" ca-0)))))
+  (label 47)
+  (parent 42)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-dhstatic-state_shapes.tst b/tst/defact-dhstatic-state_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-dhstatic-state_shapes.tst
@@ -0,0 +1,390 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald dhstatic-state (algebra diffie-hellman) (bound 16))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/dhstatic-state.scm")
+
+(comment "Strand count bounded at 16")
+
+(defprotocol dhstatic-state diffie-hellman
+  (defrole cert
+    (vars (subj ca name) (serial data) (galpha mesg))
+    (trace (recv (sig (cert-req subj galpha ca) (privk "sig" subj)))
+      (send (sig (cert subj galpha ca serial) (privk "sig" ca))))
+    (uniq-orig serial)
+    (comment "Certificate Authority"))
+  (defrole get-cert
+    (vars (self ca name) (serial data) (ra rndx) (static-key locn)
+      (ignore mesg))
+    (trace
+      (send (sig (cert-req self (exp (gen) ra) ca) (privk "sig" self)))
+      (recv (sig (cert self (exp (gen) ra) ca serial) (privk "sig" ca)))
+      (load static-key ignore)
+      (stor static-key (cat "privkey" self ra serial ca)))
+    (uniq-gen ra)
+    (comment "Get certified"))
+  (defrole init
+    (vars (a b ca name) (ra rndx) (serial-a serial-b data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n))
+    (uniq-orig n)
+    (gen-st (cat "privkey" a ra serial-a ca))
+    (comment "Initiator is A"))
+  (defrole resp
+    (vars (a b ca name) (rb rndx) (serial-b serial-a data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n))
+    (gen-st (cat "privkey" b rb serial-b ca))
+    (comment "Responder is B"))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-init-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "init" z (idx 2)) (p "init" "a" z a) (p "init" "b" z b))
+        (fact neq a b))))
+  (defgenrule fact-resp-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "resp" z (idx 2)) (p "resp" "a" z a) (p "resp" "b" z b))
+        (fact neq a b))))
+  (defgenrule trRl_get-cert-at-3
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_get-cert-at-2
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule gen-st-init-0
+    (forall ((z strd) (a name) (ra rndx) (serial-a data) (ca name))
+      (implies
+        (and (p "init" z (idx 1)) (p "init" "ca" z ca)
+          (p "init" "serial-a" z serial-a) (p "init" "ra" z ra)
+          (p "init" "a" z a))
+        (gen-st (cat "privkey" a ra serial-a ca)))))
+  (defgenrule gen-st-resp-0
+    (forall ((z strd) (b name) (rb rndx) (serial-b data) (ca name))
+      (implies
+        (and (p "resp" z (idx 1)) (p "resp" "ca" z ca)
+          (p "resp" "serial-b" z serial-b) (p "resp" "rb" z rb)
+          (p "resp" "b" z b))
+        (gen-st (cat "privkey" b rb serial-b ca)))))
+  (lang (cert-req (tupl 3)) (cert (tupl 4)) (sig sign)))
+
+(defskeleton dhstatic-state
+  (vars (serial-a serial-b data) (n text) (ca b a name) (pt pval)
+    (static-key locn) (ra rndx) (alpha expt))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha alpha))
+  (non-orig (privk "sig" ca) (privk "sig" b))
+  (uniq-orig n)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n)))
+  (label 0)
+  (unrealized (0 1))
+  (origs (n (0 2)))
+  (comment "Not closed under rules"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-a serial-b data) (n text)
+    (b a ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand init 4 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (ra ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-a) (self a)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key-0) (rb ra-0) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-b) (self b)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((0 2) (4 2)) ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1))
+    ((2 1) (4 1)) ((3 1) (0 1)) ((3 1) (5 1)) ((4 3) (0 3))
+    ((5 0) (3 0)) ((5 3) (4 0)))
+  (non-orig (privk "sig" b) (privk "sig" ca))
+  (uniq-orig serial-a serial-b n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" b ra-0 serial-b ca)
+    (cat "privkey" a ra serial-a ca))
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  (operation channel-test (displaced 4 6 get-cert 4)
+    (ch-msg static-key-0 (cat pt-1 "privkey" b ra-1 serial-b ca)) (5 0))
+  (strand-map 0 1 2 3 5 4)
+  (traces
+    ((load static-key (cat pt "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (recv n))
+    ((send (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" a ra serial-a ca)))
+    ((recv (sig (cert-req a (exp (gen) ra) ca) (privk "sig" a)))
+      (send (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca))))
+    ((recv (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (send
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca))))
+    ((load static-key-0 (cat pt-1 "privkey" b ra-0 serial-b ca))
+      (recv (sig (cert a (exp (gen) ra) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra-0) ca) (privk "sig" b)))
+      (recv
+        (sig (cert b (exp (gen) ra-0) ca serial-b) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" b ra-0 serial-b ca))))
+  (label 8)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
+  (origs (pt-1 (5 3)) (serial-b (3 1)) (serial-a (2 1)) (pt (1 3))
+    (n (0 2)))
+  (ugens (ra-0 (5 0)) (ra (1 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol dhstatic-state diffie-hellman
+  (defrole cert
+    (vars (subj ca name) (serial data) (galpha mesg))
+    (trace (recv (sig (cert-req subj galpha ca) (privk "sig" subj)))
+      (send (sig (cert subj galpha ca serial) (privk "sig" ca))))
+    (uniq-orig serial)
+    (comment "Certificate Authority"))
+  (defrole get-cert
+    (vars (self ca name) (serial data) (ra rndx) (static-key locn)
+      (ignore mesg))
+    (trace
+      (send (sig (cert-req self (exp (gen) ra) ca) (privk "sig" self)))
+      (recv (sig (cert self (exp (gen) ra) ca serial) (privk "sig" ca)))
+      (load static-key ignore)
+      (stor static-key (cat "privkey" self ra serial ca)))
+    (uniq-gen ra)
+    (comment "Get certified"))
+  (defrole init
+    (vars (a b ca name) (ra rndx) (serial-a serial-b data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" a ra serial-a ca))
+      (recv
+        (sig (cert b (exp (gen) alpha) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra alpha))))
+      (recv n))
+    (uniq-orig n)
+    (gen-st (cat "privkey" a ra serial-a ca))
+    (comment "Initiator is A"))
+  (defrole resp
+    (vars (a b ca name) (rb rndx) (serial-b serial-a data) (alpha expt)
+      (n text) (static-key locn))
+    (trace (load static-key (cat "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n))
+    (gen-st (cat "privkey" b rb serial-b ca))
+    (comment "Responder is B"))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-init-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "init" z (idx 2)) (p "init" "a" z a) (p "init" "b" z b))
+        (fact neq a b))))
+  (defgenrule fact-resp-neq0
+    (forall ((z strd) (b a name))
+      (implies
+        (and (p "resp" z (idx 2)) (p "resp" "a" z a) (p "resp" "b" z b))
+        (fact neq a b))))
+  (defgenrule trRl_get-cert-at-3
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_get-cert-at-2
+    (forall ((z strd))
+      (implies (p "get-cert" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule gen-st-init-0
+    (forall ((z strd) (a name) (ra rndx) (serial-a data) (ca name))
+      (implies
+        (and (p "init" z (idx 1)) (p "init" "ca" z ca)
+          (p "init" "serial-a" z serial-a) (p "init" "ra" z ra)
+          (p "init" "a" z a))
+        (gen-st (cat "privkey" a ra serial-a ca)))))
+  (defgenrule gen-st-resp-0
+    (forall ((z strd) (b name) (rb rndx) (serial-b data) (ca name))
+      (implies
+        (and (p "resp" z (idx 1)) (p "resp" "ca" z ca)
+          (p "resp" "serial-b" z serial-b) (p "resp" "rb" z rb)
+          (p "resp" "b" z b))
+        (gen-st (cat "privkey" b rb serial-b ca)))))
+  (lang (cert-req (tupl 3)) (cert (tupl 4)) (sig sign)))
+
+(defskeleton dhstatic-state
+  (vars (serial-b serial-a data) (n text) (ca a b name) (pt pval)
+    (static-key locn) (rb rndx) (alpha expt))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb rb) (alpha alpha))
+  (non-orig (privk "sig" ca) (privk "sig" a))
+  (traces
+    ((load static-key (cat pt "privkey" b rb serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) alpha) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul rb alpha))))
+      (send n)))
+  (label 24)
+  (unrealized (0 1))
+  (origs)
+  (comment "Not closed under rules"))
+
+(defskeleton dhstatic-state
+  (vars (ignore ignore-0 mesg) (serial-b serial-a data) (n text)
+    (a b ca name) (pt pt-0 pt-1 pt-2 pval)
+    (static-key static-key-0 locn) (ra ra-0 rndx))
+  (defstrand resp 4 (serial-b serial-b) (serial-a serial-a) (n n) (a a)
+    (b b) (ca ca) (static-key static-key) (rb ra) (alpha ra-0))
+  (defstrand get-cert 4 (ignore ignore) (serial serial-b) (self b)
+    (ca ca) (static-key static-key) (ra ra))
+  (defstrand cert 2 (galpha (exp (gen) ra)) (serial serial-b) (subj b)
+    (ca ca))
+  (defstrand cert 2 (galpha (exp (gen) ra-0)) (serial serial-a) (subj a)
+    (ca ca))
+  (defstrand init 3 (serial-a serial-a) (serial-b serial-b) (n n) (a a)
+    (b b) (ca ca) (static-key static-key-0) (ra ra-0) (alpha ra))
+  (defstrand get-cert 4 (ignore ignore-0) (serial serial-a) (self a)
+    (ca ca) (static-key static-key-0) (ra ra-0))
+  (precedes ((1 0) (2 0)) ((1 3) (0 0)) ((2 1) (1 1)) ((2 1) (4 1))
+    ((3 1) (0 1)) ((3 1) (5 1)) ((4 2) (0 2)) ((5 0) (3 0))
+    ((5 3) (4 0)))
+  (non-orig (privk "sig" a) (privk "sig" ca))
+  (uniq-orig serial-b serial-a n)
+  (uniq-gen ra ra-0)
+  (gen-st (cat "privkey" a ra-0 serial-a ca)
+    (cat "privkey" b ra serial-b ca))
+  (leads-to ((1 3) (0 0)) ((5 3) (4 0)))
+  (operation channel-test (displaced 4 6 get-cert 4)
+    (ch-msg static-key-0 (cat pt-1 "privkey" a ra-1 serial-a ca)) (5 0))
+  (strand-map 0 1 2 3 5 4)
+  (traces
+    ((load static-key (cat pt "privkey" b ra serial-b ca))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (recv (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0))))
+      (send n))
+    ((send (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (load static-key (cat pt-0 ignore))
+      (stor static-key (cat pt "privkey" b ra serial-b ca)))
+    ((recv (sig (cert-req b (exp (gen) ra) ca) (privk "sig" b)))
+      (send (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca))))
+    ((recv (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (send
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca))))
+    ((load static-key-0 (cat pt-1 "privkey" a ra-0 serial-a ca))
+      (recv (sig (cert b (exp (gen) ra) ca serial-b) (privk "sig" ca)))
+      (send (enc n a b serial-a serial-b (exp (gen) (mul ra ra-0)))))
+    ((send (sig (cert-req a (exp (gen) ra-0) ca) (privk "sig" a)))
+      (recv
+        (sig (cert a (exp (gen) ra-0) ca serial-a) (privk "sig" ca)))
+      (load static-key-0 (cat pt-2 ignore-0))
+      (stor static-key-0 (cat pt-1 "privkey" a ra-0 serial-a ca))))
+  (label 32)
+  (parent 24)
+  (realized)
+  (shape)
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
+  (origs (pt-1 (5 3)) (n (4 2)) (serial-a (3 1)) (serial-b (2 1))
+    (pt (1 3)))
+  (ugens (ra-0 (5 0)) (ra (1 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-locn_envelope.tst b/tst/defact-locn_envelope.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-locn_envelope.tst
@@ -0,0 +1,5135 @@
+(herald "Envelope Protocol, location-based version" (bound 30)
+  (limit 1200))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/locn_envelope.scm")
+(comment "Step count limited to 1200")
+(comment "Strand count bounded at 30")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 0)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((1 3) (0 0)))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 1)
+  (parent 0)
+  (unrealized (1 2))
+  (origs (v (1 3)) (n (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik) (1 2))
+  (strand-map 0 1)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0 (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 1) (2 0)) ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (current-value mesg) (v n data) (pcr-id pcr-id-0 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-0) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (0 0) (enc v k))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 4)
+  (parent 3)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id text) (k aik akey) (pt pval) (tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 4 2 tpm-create-key 2)
+    (enc "created" k pcr-id-0 current-value aik-0) (3 1))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 5)
+  (parent 4)
+  (unrealized (3 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey) (pt pt-0 pval)
+    (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0))
+    ((4 2) (3 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (3 2))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 6)
+  (parent 5)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm-2 (cat "extend" pcr-id-1 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 7)
+  (parent 6)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  
+  (operation nonce-test (contracted (pcr-id-1 pcr-id) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 8)
+  (parent 7)
+  (realized)
+  (shape)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (k (2 1)) (n (1 0)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 9)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((1 3) (0 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 0) (1 2))
+  (origs (v (1 3)) (n (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (1 2))
+  (strand-map 0 1)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 1) (2 0)) ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 12)
+  (parent 11)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (pt pval)
+    (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 13)
+  (parent 12)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 2) (0 0))
+    ((4 2) (3 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "refuse"))) (3 1))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse")))))
+  (label 14)
+  (parent 13)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm-2 (cat "extend" pcr-id-2 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 15)
+  (parent 14)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 16)
+  (parent 15)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (n (1 0)) (k (2 1)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 17)
+  (unrealized (0 0) (1 0) (2 2))
+  (preskeleton)
+  (origs (v (2 3)) (n (2 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((2 3) (0 0)) ((2 3) (1 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 18)
+  (parent 17)
+  (unrealized (0 0) (2 2))
+  (origs (v (2 3)) (n (2 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((2 3) (0 0)) ((2 3) (1 0)) ((3 1) (2 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (2 2))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 19)
+  (parent 18)
+  (unrealized (0 0) (1 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (1 0)) ((3 1) (2 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 4 2 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 20)
+  (parent 19)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (current-value mesg) (n v data) (pcr-id pcr-id-0 pcr-id-1 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-1) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (1 0) (enc v k))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-1 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 21)
+  (parent 20)
+  (unrealized (0 0) (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (pt pval)
+    (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 5 3 tpm-create-key 2)
+    (enc "created" k pcr-id-1 current-value aik-0) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 22)
+  (parent 21)
+  (unrealized (0 0) (4 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)) ((5 2) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 23)
+  (parent 22)
+  (unrealized (0 0) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (tpm tpm-2) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm-2 (cat "extend" pcr-id-2 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 24)
+  (parent 23)
+  (unrealized (0 0) (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (6 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 25)
+  (parent 24)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pval) (tpm tpm-0 tpm-1 tpm-2 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (4 0)) ((2 3) (7 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1))
+    ((7 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 26)
+  (parent 25)
+  (unrealized (7 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (4 0)) ((2 3) (7 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1))
+    ((7 2) (0 0)) ((8 2) (7 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))) (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))))
+  (label 27)
+  (parent 26)
+  (unrealized (8 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 pcr-id-3 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 tpm-4 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-3) (tpm tpm-4) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr-0 (cat pt-3 (hash "0" n))) (8 1))
+  (strand-map 0 1 2 3 4 5 6 7 8)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm-4 (cat "extend" pcr-id-3 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 28)
+  (parent 27)
+  (unrealized (9 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  
+  (operation nonce-test (contracted (pcr-id-3 pcr-id-0) (tpm-4 tpm)) n
+    (9 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6 7 8 9)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 29)
+  (parent 28)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-3 (9 2)) (pt-2 (8 2)) (pt-0 (6 2)) (pt (5 2)) (k (3 1))
+    (n (2 0)) (v (2 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule ordered-extends
+    (forall ((y z strd) (pcr locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr))
+        (or
+          (= y z)
+          (prec y (idx 2) z (idx 1))
+          (prec z (idx 2) y (idx 1))))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 30)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((1 3) (0 0)))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 31)
+  (parent 30)
+  (unrealized (1 2))
+  (origs (v (1 3)) (n (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik) (1 2))
+  (strand-map 0 1)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0 (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 32)
+  (parent 31)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 1) (2 0)) ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 33)
+  (parent 32)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (current-value mesg) (v n data) (pcr-id pcr-id-0 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-0) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (0 0) (enc v k))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 34)
+  (parent 33)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id text) (k aik akey) (pt pval) (tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 4 2 tpm-create-key 2)
+    (enc "created" k pcr-id-0 current-value aik-0) (3 1))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 35)
+  (parent 34)
+  (unrealized (3 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey) (pt pt-0 pval)
+    (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0))
+    ((4 2) (3 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (3 2))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 36)
+  (parent 35)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm-2 (cat "extend" pcr-id-1 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 37)
+  (parent 36)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  
+  (operation nonce-test (contracted (pcr-id-1 pcr-id) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 38)
+  (parent 37)
+  (realized)
+  (shape)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (k (2 1)) (n (1 0)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule ordered-extends
+    (forall ((y z strd) (pcr locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr))
+        (or
+          (= y z)
+          (prec y (idx 2) z (idx 1))
+          (prec z (idx 2) y (idx 1))))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 39)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((1 3) (0 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 40)
+  (parent 39)
+  (unrealized (0 0) (1 2))
+  (origs (v (1 3)) (n (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (1 2))
+  (strand-map 0 1)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 41)
+  (parent 40)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 1) (2 0)) ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 42)
+  (parent 41)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (pt pval)
+    (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 43)
+  (parent 42)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 2) (0 0))
+    ((4 2) (3 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "refuse"))) (3 1))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse")))))
+  (label 44)
+  (parent 43)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm-2 (cat "extend" pcr-id-2 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 45)
+  (parent 44)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 46)
+  (parent 45)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (n (1 0)) (k (2 1)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule ordered-extends
+    (forall ((y z strd) (pcr locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr))
+        (or
+          (= y z)
+          (prec y (idx 2) z (idx 1))
+          (prec z (idx 2) y (idx 1))))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 47)
+  (unrealized (0 0) (1 0) (2 2))
+  (preskeleton)
+  (origs (v (2 3)) (n (2 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((2 3) (0 0)) ((2 3) (1 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 48)
+  (parent 47)
+  (unrealized (0 0) (2 2))
+  (origs (v (2 3)) (n (2 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((2 3) (0 0)) ((2 3) (1 0)) ((3 1) (2 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (2 2))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 49)
+  (parent 48)
+  (unrealized (0 0) (1 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (1 0)) ((3 1) (2 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 4 2 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 50)
+  (parent 49)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (current-value mesg) (n v data) (pcr-id pcr-id-0 pcr-id-1 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-1) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (1 0) (enc v k))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-1 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 51)
+  (parent 50)
+  (unrealized (0 0) (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (pt pval)
+    (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 5 3 tpm-create-key 2)
+    (enc "created" k pcr-id-1 current-value aik-0) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 52)
+  (parent 51)
+  (unrealized (0 0) (4 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)) ((5 2) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 53)
+  (parent 52)
+  (unrealized (0 0) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (tpm tpm-2) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm-2 (cat "extend" pcr-id-2 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 54)
+  (parent 53)
+  (unrealized (0 0) (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (6 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 55)
+  (parent 54)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pval) (tpm tpm-0 tpm-1 tpm-2 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (4 0)) ((2 3) (7 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1))
+    ((7 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 56)
+  (parent 55)
+  (unrealized (7 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (4 0)) ((2 3) (7 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1))
+    ((7 2) (0 0)) ((8 2) (7 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))) (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))))
+  (label 57)
+  (parent 56)
+  (unrealized (8 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 pcr-id-3 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 tpm-4 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-3) (tpm tpm-4) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr-0 (cat pt-3 (hash "0" n))) (8 1))
+  (strand-map 0 1 2 3 4 5 6 7 8)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm-4 (cat "extend" pcr-id-3 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 58)
+  (parent 57)
+  (unrealized (9 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  
+  (operation nonce-test (contracted (pcr-id-3 pcr-id-0) (tpm-4 tpm)) n
+    (9 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6 7 8 9)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 59)
+  (parent 58)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-3 (9 2)) (pt-2 (8 2)) (pt-0 (6 2)) (pt (5 2)) (k (3 1))
+    (n (2 0)) (v (2 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus-2 basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule pcr-id-identifies-pcr
+    (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr-id" y pcr-id)
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr-0))
+        (= pcr pcr-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 60)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((1 3) (0 0)))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 61)
+  (parent 60)
+  (unrealized (1 2))
+  (origs (v (1 3)) (n (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik) (1 2))
+  (strand-map 0 1)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0 (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 62)
+  (parent 61)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 1) (2 0)) ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 63)
+  (parent 62)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (current-value mesg) (v n data) (pcr-id pcr-id-0 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-0) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig v n k)
+  (conf tpm)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (0 0) (enc v k))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 64)
+  (parent 63)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id text) (k aik akey) (pt pval) (tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 4 2 tpm-create-key 2)
+    (enc "created" k pcr-id-0 current-value aik-0) (3 1))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 65)
+  (parent 64)
+  (unrealized (3 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey) (pt pt-0 pval)
+    (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 3) (0 0))
+    ((4 2) (3 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (3 2))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 66)
+  (parent 65)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm-2 (cat "extend" pcr-id-1 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 67)
+  (parent 66)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  
+  (operation nonce-test (contracted (pcr-id-1 pcr-id) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 68)
+  (parent 67)
+  (realized)
+  (shape)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (k (2 1)) (n (1 0)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus-2 basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule pcr-id-identifies-pcr
+    (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr-id" y pcr-id)
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr-0))
+        (= pcr pcr-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 69)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((1 3) (0 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 70)
+  (parent 69)
+  (unrealized (0 0) (1 2))
+  (origs (v (1 3)) (n (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (1 2))
+  (strand-map 0 1)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 71)
+  (parent 70)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 1) (2 0)) ((1 3) (0 0)) ((2 1) (1 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 72)
+  (parent 71)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (pt pval)
+    (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 73)
+  (parent 72)
+  (unrealized (3 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2)) ((3 2) (0 0))
+    ((4 2) (3 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "refuse"))) (3 1))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse")))))
+  (label 74)
+  (parent 73)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm-2 (cat "extend" pcr-id-2 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 75)
+  (parent 74)
+  (unrealized (5 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 76)
+  (parent 75)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (n (1 0)) (k (2 1)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus-2 basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule pcr-id-identifies-pcr
+    (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr-id" y pcr-id)
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr-0))
+        (= pcr pcr-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 77)
+  (unrealized (0 0) (1 0) (2 2))
+  (preskeleton)
+  (origs (v (2 3)) (n (2 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (precedes ((2 3) (0 0)) ((2 3) (1 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 78)
+  (parent 77)
+  (unrealized (0 0) (2 2))
+  (origs (v (2 3)) (n (2 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((2 3) (0 0)) ((2 3) (1 0)) ((3 1) (2 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (2 2))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 79)
+  (parent 78)
+  (unrealized (0 0) (1 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (1 0)) ((3 1) (2 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation channel-test (displaced 4 2 alice 2)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 80)
+  (parent 79)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (current-value mesg) (n v data) (pcr-id pcr-id-0 pcr-id-1 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-1) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig n v k)
+  (conf tpm)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (1 0) (enc v k))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-1 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 81)
+  (parent 80)
+  (unrealized (0 0) (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (pt pval)
+    (tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 5 3 tpm-create-key 2)
+    (enc "created" k pcr-id-1 current-value aik-0) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 82)
+  (parent 81)
+  (unrealized (0 0) (4 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (precedes ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0)) ((3 1) (2 2))
+    ((4 3) (1 0)) ((5 2) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 83)
+  (parent 82)
+  (unrealized (0 0) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (tpm tpm-2) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm-2 (cat "extend" pcr-id-2 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 84)
+  (parent 83)
+  (unrealized (0 0) (6 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (0 0)) ((2 3) (4 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (6 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 85)
+  (parent 84)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pval) (tpm tpm-0 tpm-1 tpm-2 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (4 0)) ((2 3) (7 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1))
+    ((7 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)))
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 86)
+  (parent 85)
+  (unrealized (7 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 1) (3 0)) ((2 3) (4 0)) ((2 3) (7 0))
+    ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2)) ((6 2) (5 1))
+    ((7 2) (0 0)) ((8 2) (7 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))) (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))))
+  (label 87)
+  (parent 86)
+  (unrealized (8 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 pcr-id-3 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 tpm-4 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-3) (tpm tpm-4) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 3)
+    (ch-msg pcr-0 (cat pt-3 (hash "0" n))) (8 1))
+  (strand-map 0 1 2 3 4 5 6 7 8)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm-4 (cat "extend" pcr-id-3 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 88)
+  (parent 87)
+  (unrealized (9 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  
+  (operation nonce-test
+    (contracted (pcr-0 pcr) (pcr-id-3 pcr-id-0) (tpm-4 tpm)) n (9 0)
+    (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6 7 8 9)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr (cat pt-3 (hash "0" n)))
+      (stor pcr (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-4 "0"))
+      (stor pcr (cat pt-3 (hash "0" n)))))
+  (label 89)
+  (parent 88)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-3 (9 2)) (pt-2 (8 2)) (pt-0 (6 2)) (pt (5 2)) (k (3 1))
+    (n (2 0)) (v (2 3))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-locn_envelope_shapes.tst b/tst/defact-locn_envelope_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-locn_envelope_shapes.tst
@@ -0,0 +1,1919 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald "Envelope Protocol, location-based version" (bound 30)
+  (limit 1200))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/locn_envelope.scm")
+
+(comment "Step count limited to 1200")
+
+(comment "Strand count bounded at 30")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 0)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  (operation nonce-test (contracted (pcr-id-1 pcr-id) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 8)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (k (2 1)) (n (1 0)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 9)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 16)
+  (parent 9)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (n (1 0)) (k (2 1)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 17)
+  (unrealized (0 0) (1 0) (2 2))
+  (preskeleton)
+  (origs (v (2 3)) (n (2 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (operation nonce-test (contracted (pcr-id-3 pcr-id-0) (tpm-4 tpm)) n
+    (9 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6 7 8 9)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 29)
+  (parent 17)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-3 (9 2)) (pt-2 (8 2)) (pt-0 (6 2)) (pt (5 2)) (k (3 1))
+    (n (2 0)) (v (2 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule ordered-extends
+    (forall ((y z strd) (pcr locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr))
+        (or
+          (= y z)
+          (prec y (idx 2) z (idx 1))
+          (prec z (idx 2) y (idx 1))))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 30)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  (operation nonce-test (contracted (pcr-id-1 pcr-id) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 38)
+  (parent 30)
+  (realized)
+  (shape)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (k (2 1)) (n (1 0)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule ordered-extends
+    (forall ((y z strd) (pcr locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr))
+        (or
+          (= y z)
+          (prec y (idx 2) z (idx 1))
+          (prec z (idx 2) y (idx 1))))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 39)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 46)
+  (parent 39)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (n (1 0)) (k (2 1)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule ordered-extends
+    (forall ((y z strd) (pcr locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr))
+        (or
+          (= y z)
+          (prec y (idx 2) z (idx 1))
+          (prec z (idx 2) y (idx 1))))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 47)
+  (unrealized (0 0) (1 0) (2 2))
+  (preskeleton)
+  (origs (v (2 3)) (n (2 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr-0))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr-0))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (operation nonce-test (contracted (pcr-id-3 pcr-id-0) (tpm-4 tpm)) n
+    (9 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6 7 8 9)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr-0 (cat pt-4 "0"))
+      (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 59)
+  (parent 47)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-3 (9 2)) (pt-2 (8 2)) (pt-0 (6 2)) (pt (5 2)) (k (3 1))
+    (n (2 0)) (v (2 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus-2 basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule pcr-id-identifies-pcr
+    (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr-id" y pcr-id)
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr-0))
+        (= pcr pcr-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpm)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 60)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus-2
+  (vars (v n data) (pcr-id pcr-id-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 3) (0 0)) ((4 2) (3 2)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 2)) ((5 2) (4 1)))
+  (operation nonce-test (contracted (pcr-id-1 pcr-id) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-0 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 68)
+  (parent 60)
+  (realized)
+  (shape)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (k (2 1)) (n (1 0)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus-2 basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule pcr-id-identifies-pcr
+    (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr-id" y pcr-id)
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr-0))
+        (= pcr pcr-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 69)
+  (unrealized (0 0) (1 2))
+  (preskeleton)
+  (origs (v (1 3)) (n (1 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((1 0) (5 0)) ((1 1) (2 0)) ((1 3) (3 0)) ((2 1) (1 2))
+    ((3 2) (0 0)) ((4 2) (3 1)) ((5 2) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((4 2) (3 1)) ((5 2) (4 1)))
+  (operation nonce-test (contracted (pcr-id-2 pcr-id-0) (tpm-2 tpm)) n
+    (5 0) (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "refuse"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 76)
+  (parent 69)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-0 (5 2)) (pt (4 2)) (n (1 0)) (k (2 1)) (v (1 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope-plus-2 basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id text) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "extend" pcr-id value))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok")))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id text) (k aik akey) (tpm chan))
+    (trace (send tpm (cat "extend" pcr-id n))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpm)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 2))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule pcr-id-identifies-pcr
+    (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
+      (implies
+        (and (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "pcr-id" y pcr-id)
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr" y pcr)
+          (p "tpm-extend-enc" "pcr" z pcr-0))
+        (= pcr pcr-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-extend-enc-at-1
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1))))))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpm)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 77)
+  (unrealized (0 0) (1 0) (2 2))
+  (preskeleton)
+  (origs (v (2 3)) (n (2 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope-plus-2
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 pcr-id-2 text) (k aik akey)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 4 (n n) (v v) (pcr-id pcr-id-0) (k k) (aik aik)
+    (tpm tpm))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (tpm tpm-1)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-2) (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (tpm tpm-3)
+    (pcr pcr))
+  (defstrand tpm-extend-enc 3 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (tpm tpm) (pcr pcr))
+  (precedes ((2 0) (6 0)) ((2 0) (9 0)) ((2 1) (3 0)) ((2 3) (4 0))
+    ((2 3) (7 0)) ((3 1) (2 2)) ((4 3) (1 0)) ((5 2) (4 2))
+    ((6 2) (5 1)) ((7 2) (0 0)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpm)
+  (auth tpm)
+  (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))
+  (operation nonce-test
+    (contracted (pcr-0 pcr) (pcr-id-3 pcr-id-0) (tpm-4 tpm)) n (9 0)
+    (ch-msg tpm (cat "extend" pcr-id-0 n)))
+  (strand-map 0 1 2 3 4 5 6 7 8 9)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((send tpm (cat "extend" pcr-id-0 n))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((recv tpm-1 (cat "extend" pcr-id-1 "obtain"))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-1 "0"))
+      (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-2 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-3 (cat "extend" pcr-id-2 "refuse"))
+      (load pcr (cat pt-3 (hash "0" n)))
+      (stor pcr (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((recv tpm (cat "extend" pcr-id-0 n)) (load pcr (cat pt-4 "0"))
+      (stor pcr (cat pt-3 (hash "0" n)))))
+  (label 89)
+  (parent 77)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
+  (origs (pt-3 (9 2)) (pt-2 (8 2)) (pt-0 (6 2)) (pt (5 2)) (k (3 1))
+    (n (2 0)) (v (2 3))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-open-closed-multiloc.tst b/tst/defact-open-closed-multiloc.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-open-closed-multiloc.tst
@@ -0,0 +1,857 @@
+(herald open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/open-closed-multiloc.scm")
+(comment "Strand count bounded at 44")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor ls (cat "st" d o))
+      (stor lk (cat "st-k" d o k)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (1 0))
+  (origs (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 mesg) (k skey) (d o name) (pt pt-0 pt-1 pt-2 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (auth start-ch)
+  
+  (operation nonce-test (added-strand dev-up 5) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (load ls (cat pt-0 old1)) (stor ls (cat pt-1 "st" d o))
+      (stor lk (cat pt-2 "st-k" d o k))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor ls (cat "st" d o))
+      (stor lk (cat "st-k" d o k)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o))
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 2))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (lk ls lk-0 locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((1 3) (0 2)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o))
+  (leads-to ((1 3) (0 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d o o)) (0 2))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k)))
+    ((load lk-0 (cat pt-1 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-2 "st" d any))
+      (stor ls (cat pt-0 "st" d o o))))
+  (label 5)
+  (parent 4)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-0 (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor ls (cat "st" d o))
+      (stor lk (cat "st-k" d o k)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 7)
+  (parent 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0))
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 8)
+  (parent 7)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan)
+    (lk ls lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (operation nonce-test (added-strand dev-up 5) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-1 old))
+      (load ls-0 (cat pt-2 old1)) (stor ls-0 (cat pt-3 "st" d o))
+      (stor lk-0 (cat pt-4 "st-k" d o k))))
+  (label 9)
+  (parent 8)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)))
+  
+  (operation nonce-test
+    (contracted (d-0 d) (o-0 o) (lk-0 lk) (pt-4 pt-3)) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k))
+    (ch-msg lk (cat pt-3 "st-k" d o k)))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 1) (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((3 0) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)))
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((send (enc "may I pass" k))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((2 4) (1 0)) ((3 1) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)))
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((recv k) (send k)))
+  (label 12)
+  (parent 10)
+  (seen 14)
+  (seen-ops
+    (14
+      (operation nonce-test (added-strand dev-up 5) k (3 0)
+        (ch-msg start-ch (cat "power-up" d o k))) (strand-map 0 1 2 3)))
+  (unrealized (0 1) (1 2) (3 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((3 0) (1 1)) ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)) ((4 3) (1 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d o o)) (1 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-4 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-5 "st" d any))
+      (stor ls (cat pt "st" d o o))))
+  (label 13)
+  (parent 11)
+  (seen 15)
+  (seen-ops
+    (15
+      (operation encryption-test (added-strand dev-up 6) (enc "up" k)
+        (0 1)) (strand-map 0 1 4 2 3)))
+  (unrealized (0 1))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((2 4) (3 0)) ((3 1) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)))
+  
+  (operation nonce-test (displaced 4 2 dev-up 5) k (3 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((recv k) (send k)))
+  (label 14)
+  (parent 12)
+  (unrealized (0 1) (1 2) (3 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton open-closed
+  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (4 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 4) (1 0))
+    ((4 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((3 3) (1 2)) ((4 4) (1 0)))
+  
+  (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 4 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk-0 (cat pt-5 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
+      (load ls-0 (cat pt-3 old1)) (stor ls-0 (cat pt-4 "st" d o))
+      (stor lk-0 (cat pt-5 "st-k" d o k)) (send (enc "up" k))))
+  (label 15)
+  (parent 13)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk-0) (ls ls))))
+  (origs (pt-4 (4 3)) (pt-5 (4 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 4) (1 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)) ((4 3) (1 2)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-4 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-5 "st" d any))
+      (stor ls (cat pt "st" d o o))) ((recv k) (send k)))
+  (label 16)
+  (parent 13)
+  (seen 17)
+  (seen-ops
+    (17
+      (operation nonce-test (added-strand dev-up 5) k (5 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (5 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((2 4) (5 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 4) (1 0)) ((4 3) (1 2)))
+  
+  (operation nonce-test (displaced 6 2 dev-up 5) k (5 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-4 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-5 "st" d any))
+      (stor ls (cat pt "st" d o o))) ((recv k) (send k)))
+  (label 17)
+  (parent 16)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-open-closed-multiloc_shapes.tst b/tst/defact-open-closed-multiloc_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-open-closed-multiloc_shapes.tst
@@ -0,0 +1,494 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/open-closed-multiloc.scm")
+
+(comment "Strand count bounded at 44")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor ls (cat "st" d o))
+      (stor lk (cat "st-k" d o k)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor ls (cat "st" d o))
+      (stor lk (cat "st-k" d o k)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (lk ls lk-0 locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((1 3) (0 2)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o))
+  (leads-to ((1 3) (0 2)))
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d o o)) (0 2))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k)))
+    ((load lk-0 (cat pt-1 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-2 "st" d any))
+      (stor ls (cat pt-0 "st" d o o))))
+  (label 5)
+  (parent 3)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-0 (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor ls (cat "st" d o))
+      (stor lk (cat "st-k" d o k)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1)))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (4 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 4) (1 0))
+    ((4 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((3 3) (1 2)) ((4 4) (1 0)))
+  (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 4 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk-0 (cat pt-5 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
+      (load ls-0 (cat pt-3 old1)) (stor ls-0 (cat pt-4 "st" d o))
+      (stor lk-0 (cat pt-5 "st-k" d o k)) (send (enc "up" k))))
+  (label 15)
+  (parent 6)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk-0) (ls ls))))
+  (origs (pt-4 (4 3)) (pt-5 (4 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-open-closed-tag.tst b/tst/defact-open-closed-tag.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-open-closed-tag.tst
@@ -0,0 +1,1158 @@
+(herald open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/open-closed-tag.scm")
+(comment "Strand count bounded at 44")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (1 0))
+  (origs (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (d o name) (pt pt-0 pval) (start-ch chan)
+    (lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (auth start-ch)
+  
+  (operation nonce-test (added-strand dev-up 3) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (stor lk (cat pt-0 "st-k" d o k))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (gen-st (cat "st" d "opened"))
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 2))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (any mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
+    (pt pt-0 pt-1 pt-2 pval) (lk ls lk-0 locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0)
+    (lk lk-0) (ls ls))
+  (precedes ((1 3) (0 2)))
+  (uniq-orig n)
+  (gen-st (cat "st" d "opened"))
+  (leads-to ((1 3) (0 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d "opened")) (0 2))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((load lk-0 (cat pt-1 "st-k" d o-0 k-0))
+      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-2 "st" d any))
+      (stor ls (cat pt-0 "st" d "opened"))))
+  (label 5)
+  (parent 4)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-0 (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 "opened"))
+      (send (enc "you may pass" n k))))
+  (label 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 "opened"))
+      (send (enc "you may pass" n k))))
+  (label 7)
+  (parent 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 "opened"))
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 "opened"))
+      (send (enc "you may pass" n k))))
+  (label 8)
+  (parent 7)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pval) (start-ch chan) (lk ls lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk-0))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (operation nonce-test (added-strand dev-up 3) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-1 old))
+      (stor lk-0 (cat pt-2 "st-k" d o k))))
+  (label 9)
+  (parent 8)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)))
+  
+  (operation nonce-test
+    (contracted (d-0 d) (o-0 o) (lk-0 lk) (pt-2 pt-1)) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k))
+    (ch-msg lk (cat pt-1 "st-k" d o k)))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 1) (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((3 0) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)))
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((2 2) (1 0)) ((3 1) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)))
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((recv k) (send k)))
+  (label 12)
+  (parent 10)
+  (seen 14)
+  (seen-ops
+    (14
+      (operation nonce-test (added-strand dev-up 3) k (3 0)
+        (ch-msg start-ch (cat "power-up" d o k))) (strand-map 0 1 2 3)))
+  (unrealized (0 1) (1 2) (3 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0)
+    (lk lk-0) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((3 0) (1 1)) ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d "opened")) (1 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o-0 k-0))
+      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d "opened"))))
+  (label 13)
+  (parent 11)
+  (seen 15)
+  (seen-ops
+    (15
+      (operation encryption-test (added-strand dev-up 6) (enc "up" k)
+        (0 1)) (strand-map 0 1 4 2 3)))
+  (unrealized (0 1))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (3 0)) ((3 1) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)))
+  
+  (operation nonce-test (displaced 4 2 dev-up 3) k (3 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((recv k) (send k)))
+  (label 14)
+  (parent 12)
+  (unrealized (0 1) (1 2) (3 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton open-closed
+  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (o d o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o-0) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o-0) (lk lk-0) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o-0)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (4 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 2) (1 0))
+    ((4 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((3 3) (1 2)) ((4 2) (1 0)))
+  
+  (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 4 2 3)
+  (traces ((send start-ch (cat "power-up" d o-0 k)) (recv (enc "up" k)))
+    ((load lk-0 (cat pt-3 "st-k" d o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k))) ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any))
+      (stor ls (cat pt "st" d "opened")))
+    ((recv start-ch (cat "power-up" d o-0 k)) (load lk-0 (cat pt-2 old))
+      (stor lk-0 (cat pt-3 "st-k" d o-0 k)) (load ls-0 (cat pt-4 old1))
+      (stor ls-0 (cat pt-5 "st" d "closed")) (send (enc "up" k))))
+  (label 15)
+  (parent 13)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o-0) (start-ch start-ch) (n n) (d-0 d) (o-0 o-0)
+        (lk lk-0) (ls ls))))
+  (origs (pt-3 (4 2)) (pt-5 (4 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(defskeleton open-closed
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0)
+    (lk lk-0) (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 2) (1 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o-0 k-0))
+      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d "opened"))) ((recv k) (send k)))
+  (label 16)
+  (parent 13)
+  (seen 17)
+  (seen-ops
+    (17
+      (operation nonce-test (added-strand dev-up 3) k (5 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (5 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0)
+    (lk lk-0) (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (5 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation nonce-test (displaced 6 2 dev-up 3) k (5 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o-0 k-0))
+      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d "opened"))) ((recv k) (send k)))
+  (label 17)
+  (parent 16)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (1 2)))
+  (uniq-orig k n)
+  (conf start-ch)
+  (auth start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (stor lk (cat pt-2 "st-k" d o k)) (load ls-0 (cat pt-3 old1))
+      (stor ls-0 (cat pt-4 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-5 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-6 "st" d any))
+      (stor ls (cat pt-7 "st" d "opened"))))
+  (label 18)
+  (unrealized (1 0))
+  (origs (pt-7 (4 3)) (pt-4 (2 4)) (pt-2 (2 2)) (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (stor lk (cat pt-2 "st-k" d o k)) (load ls-0 (cat pt-3 old1))
+      (stor ls-0 (cat pt-4 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-5 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-6 "st" d any))
+      (stor ls (cat pt-7 "st" d "opened"))))
+  (label 19)
+  (parent 18)
+  (unrealized (1 0) (1 2))
+  (origs (pt-7 (4 3)) (pt-4 (2 4)) (pt-2 (2 2)) (n (1 3)) (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)))
+  
+  (operation nonce-test (contracted (pt-7 pt-1)) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k))
+    (ch-msg lk (cat pt-1 "st-k" d o k)))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls-0 (cat pt-2 old1))
+      (stor ls-0 (cat pt-3 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-4 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-5 "st" d any))
+      (stor ls (cat pt-6 "st" d "opened"))))
+  (label 20)
+  (parent 19)
+  (seen 21)
+  (seen-ops
+    (21
+      (operation channel-test (added-strand dev-open 4)
+        (ch-msg ls (cat pt "st" d "opened")) (1 2))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 2))
+  (origs (pt-6 (4 3)) (pt-3 (2 4)) (pt-1 (2 2)) (n (1 3)) (k (0 0)))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation channel-test (displaced 5 4 dev-open 4)
+    (ch-msg ls (cat pt-6 "st" d "opened")) (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-0 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-5 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (stor lk (cat pt-0 "st-k" d o k)) (load ls-0 (cat pt-1 old1))
+      (stor ls-0 (cat pt-2 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-3 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-4 "st" d any))
+      (stor ls (cat pt-5 "st" d "opened"))))
+  (label 21)
+  (parent 20)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2 3 4)
+      ((old old) (old1 old1) (any any) (n n) (n-0 n-0) (d d) (o o) (k k)
+        (k-0 k-0) (start-ch start-ch) (ls ls) (lk lk) (ls-0 ls-0)
+        (lk-0 lk-0))))
+  (origs (pt-5 (4 3)) (pt-2 (2 4)) (pt-0 (2 2)) (n (1 3)) (k (0 0))))
+
+(defskeleton open-closed
+  (vars (old old1 any any-0 mesg) (k k-0 k-1 skey) (n n-0 n-1 text)
+    (d o o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)
+    (start-ch chan) (ls lk ls-0 lk-0 lk-1 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (defstrand dev-open 4 (any any-0) (k k-1) (n n-1) (d d) (o o-0)
+    (lk lk-1) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (5 2)) ((5 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)) ((5 3) (1 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d "opened")) (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k)) (load ls-0 (cat pt-2 old1))
+      (stor ls-0 (cat pt-3 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-4 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-5 "st" d any))
+      (stor ls (cat pt-6 "st" d "opened")))
+    ((load lk-1 (cat pt-7 "st-k" d o-0 k-1))
+      (recv (enc "open" d o-0 n-1 k-1))
+      (load ls (cat pt-8 "st" d any-0))
+      (stor ls (cat pt "st" d "opened"))))
+  (label 22)
+  (parent 20)
+  (seen 21)
+  (seen-ops
+    (21 (operation generalization weakened ((4 3) (5 2)))
+      (strand-map 0 1 2 3 4)))
+  (realized)
+  (comment "1 in cohort - 0 not yet seen"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-open-closed-tag_shapes.tst b/tst/defact-open-closed-tag_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-open-closed-tag_shapes.tst
@@ -0,0 +1,669 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/open-closed-tag.scm")
+
+(comment "Strand count bounded at 44")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (any mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
+    (pt pt-0 pt-1 pt-2 pval) (lk ls lk-0 locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0)
+    (lk lk-0) (ls ls))
+  (precedes ((1 3) (0 2)))
+  (uniq-orig n)
+  (gen-st (cat "st" d "opened"))
+  (leads-to ((1 3) (0 2)))
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d "opened")) (0 2))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((load lk-0 (cat pt-1 "st-k" d o-0 k-0))
+      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-2 "st" d any))
+      (stor ls (cat pt-0 "st" d "opened"))))
+  (label 5)
+  (parent 3)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-0 (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 "opened"))
+      (send (enc "you may pass" n k))))
+  (label 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (o d o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o-0) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o-0) (lk lk-0) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o-0)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (4 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 2) (1 0))
+    ((4 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((3 3) (1 2)) ((4 2) (1 0)))
+  (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 4 2 3)
+  (traces ((send start-ch (cat "power-up" d o-0 k)) (recv (enc "up" k)))
+    ((load lk-0 (cat pt-3 "st-k" d o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d "opened"))
+      (send (enc "you may pass" n k))) ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any))
+      (stor ls (cat pt "st" d "opened")))
+    ((recv start-ch (cat "power-up" d o-0 k)) (load lk-0 (cat pt-2 old))
+      (stor lk-0 (cat pt-3 "st-k" d o-0 k)) (load ls-0 (cat pt-4 old1))
+      (stor ls-0 (cat pt-5 "st" d "closed")) (send (enc "up" k))))
+  (label 15)
+  (parent 6)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o-0) (start-ch start-ch) (n n) (d-0 d) (o-0 o-0)
+        (lk lk-0) (ls ls))))
+  (origs (pt-3 (4 2)) (pt-5 (4 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d "closed")) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "opened"))
+      (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d "closed"))
+      (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d "opened")) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z "opened"))
+        (gen-st (cat "st" d "opened")))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d "opened")))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (1 2)))
+  (uniq-orig k n)
+  (conf start-ch)
+  (auth start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (stor lk (cat pt-2 "st-k" d o k)) (load ls-0 (cat pt-3 old1))
+      (stor ls-0 (cat pt-4 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-5 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-6 "st" d any))
+      (stor ls (cat pt-7 "st" d "opened"))))
+  (label 18)
+  (unrealized (1 0))
+  (origs (pt-7 (4 3)) (pt-4 (2 4)) (pt-2 (2 2)) (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk ls-0 lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 5) (0 1)) ((3 0) (1 1))
+    ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d "opened"))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  (operation channel-test (displaced 5 4 dev-open 4)
+    (ch-msg ls (cat pt-6 "st" d "opened")) (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-0 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-5 "st" d "opened"))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (stor lk (cat pt-0 "st-k" d o k)) (load ls-0 (cat pt-1 old1))
+      (stor ls-0 (cat pt-2 "st" d "closed")) (send (enc "up" k)))
+    ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-3 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-4 "st" d any))
+      (stor ls (cat pt-5 "st" d "opened"))))
+  (label 21)
+  (parent 18)
+  (realized)
+  (shape)
+  (maps
+    ((0 1 2 3 4)
+      ((old old) (old1 old1) (any any) (n n) (n-0 n-0) (d d) (o o) (k k)
+        (k-0 k-0) (start-ch start-ch) (ls ls) (lk lk) (ls-0 ls-0)
+        (lk-0 lk-0))))
+  (origs (pt-5 (4 3)) (pt-2 (2 4)) (pt-0 (2 2)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-open-closed.tst b/tst/defact-open-closed.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-open-closed.tst
@@ -0,0 +1,926 @@
+(herald open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/open-closed.scm")
+(comment "Strand count bounded at 44")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z2 z1))))
+  (defrule same-locn
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (same-locn z1 i1 z2 i2) (fact ha z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defrule leadsto-la
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (leads-to z1 i1 z2 i2) (fact la z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 3) (idx 4)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 2) (idx 3)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 2) (idx 3))))))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (1 0))
+  (origs (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (d o name) (pt pt-0 pval) (start-ch chan)
+    (lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (auth start-ch)
+  
+  
+  (operation nonce-test (added-strand dev-up 3) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (stor lk (cat pt-0 "st-k" d o k))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z2 z1))))
+  (defrule same-locn
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (same-locn z1 i1 z2 i2) (fact ha z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defrule leadsto-la
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (leads-to z1 i1 z2 i2) (fact la z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 3) (idx 4)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 2) (idx 3)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 2) (idx 3))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o))
+  
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 2))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (lk ls lk-0 locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((1 3) (0 2)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o))
+  
+  (leads-to ((1 3) (0 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d o o)) (0 2))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k)))
+    ((load lk-0 (cat pt-1 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-2 "st" d any))
+      (stor ls (cat pt-0 "st" d o o))))
+  (label 5)
+  (parent 4)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-0 (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z2 z1))))
+  (defrule same-locn
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (same-locn z1 i1 z2 i2) (fact ha z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defrule leadsto-la
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (leads-to z1 i1 z2 i2) (fact la z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 3) (idx 4)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 2) (idx 3)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 2) (idx 3))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 7)
+  (parent 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0))
+  (conf start-ch)
+  
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 8)
+  (parent 7)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pval) (start-ch chan) (lk ls lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk-0))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  
+  (operation nonce-test (added-strand dev-up 3) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-1 old))
+      (stor lk-0 (cat pt-2 "st-k" d o k))))
+  (label 9)
+  (parent 8)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)))
+  
+  (operation nonce-test
+    (contracted (d-0 d) (o-0 o) (lk-0 lk) (pt-2 pt-1)) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k))
+    (ch-msg lk (cat pt-1 "st-k" d o k)))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 1) (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((3 0) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)))
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((2 2) (1 0)) ((3 1) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)))
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((recv k) (send k)))
+  (label 12)
+  (parent 10)
+  (seen 14)
+  (seen-ops
+    (14
+      (operation nonce-test (added-strand dev-up 3) k (3 0)
+        (ch-msg start-ch (cat "power-up" d o k))) (strand-map 0 1 2 3)))
+  (unrealized (0 1) (1 2) (3 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((3 0) (1 1)) ((4 3) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d o o)) (1 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d o o))))
+  (label 13)
+  (parent 11)
+  (seen 15)
+  (seen-ops
+    (15
+      (operation encryption-test (added-strand dev-up 6) (enc "up" k)
+        (0 1)) (strand-map 0 1 4 2 3)))
+  (unrealized (0 1))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old mesg) (k skey) (n text) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (3 0)) ((3 1) (1 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)))
+  
+  (operation nonce-test (displaced 4 2 dev-up 3) k (3 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((recv k) (send k)))
+  (label 14)
+  (parent 12)
+  (unrealized (0 1) (1 2) (3 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton open-closed
+  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (4 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 2) (1 0))
+    ((4 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((3 3) (1 2)) ((4 2) (1 0)))
+  
+  (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 4 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk-0 (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
+      (stor lk-0 (cat pt-3 "st-k" d o k)) (load ls-0 (cat pt-4 old1))
+      (stor ls-0 (cat pt-5 "st" d o)) (send (enc "up" k))))
+  (label 15)
+  (parent 13)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk-0) (ls ls))))
+  (origs (pt-3 (4 2)) (pt-5 (4 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(defskeleton open-closed
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 2) (1 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d o o))) ((recv k) (send k)))
+  (label 16)
+  (parent 13)
+  (seen 17)
+  (seen-ops
+    (17
+      (operation nonce-test (added-strand dev-up 3) k (5 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (5 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton open-closed
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (5 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  
+  (operation nonce-test (displaced 6 2 dev-up 3) k (5 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d o o))) ((recv k) (send k)))
+  (label 17)
+  (parent 16)
+  (unrealized (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-open-closed_shapes.tst b/tst/defact-open-closed_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-open-closed_shapes.tst
@@ -0,0 +1,491 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald open-closed (bound 44))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/open-closed.scm")
+
+(comment "Strand count bounded at 44")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z2 z1))))
+  (defrule same-locn
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (same-locn z1 i1 z2 i2) (fact ha z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defrule leadsto-la
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (leads-to z1 i1 z2 i2) (fact la z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z2 z1))))
+  (defrule same-locn
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (same-locn z1 i1 z2 i2) (fact ha z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defrule leadsto-la
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (leads-to z1 i1 z2 i2) (fact la z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton open-closed
+  (vars (any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (lk ls lk-0 locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+    (ls ls))
+  (precedes ((1 3) (0 2)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o))
+  (leads-to ((1 3) (0 2)))
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d o o)) (0 2))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k)))
+    ((load lk-0 (cat pt-1 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-2 "st" d any))
+      (stor ls (cat pt-0 "st" d o o))))
+  (label 5)
+  (parent 3)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-0 (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (stor lk (cat "st-k" d o k)) (load ls old1)
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "open" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o o)) (send n)))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "close" d o n k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat "st" d o o)) (send (enc "you may pass" n k)))
+    (uniq-orig n))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule gen-state-close
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
+          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
+          (p "dev-close" "any" z (cat o o)))
+        (gen-st (cat "st" d o o)))))
+  (defrule gen-state-pass
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
+          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (gen-st (cat "st" d o o)))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z2 z1))))
+  (defrule same-locn
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (same-locn z1 i1 z2 i2) (fact ha z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defrule leadsto-la
+    (forall ((z1 z2 strd) (i1 i2 indx))
+      (implies (leads-to z1 i1 z2 i2) (fact la z1 i1 z2 i2)))
+    (comment this is a rule comment))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k)) (recv (enc "may I pass" k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0))
+      (send (enc "you may pass" n k))))
+  (label 6)
+  (unrealized (0 1) (1 0) (1 1))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton open-closed
+  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk lk-0 ls-0 locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk-0) (ls ls-0))
+  (precedes ((0 0) (4 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 2) (1 0))
+    ((4 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((3 3) (1 2)) ((4 2) (1 0)))
+  (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 4 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk-0 (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+      (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
+      (stor lk-0 (cat pt-3 "st-k" d o k)) (load ls-0 (cat pt-4 old1))
+      (stor ls-0 (cat pt-5 "st" d o)) (send (enc "up" k))))
+  (label 15)
+  (parent 6)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk-0) (ls ls))))
+  (origs (pt-3 (4 2)) (pt-5 (4 4)) (pt (3 3)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-subatomic-open-closed-test-genrule.tst b/tst/defact-subatomic-open-closed-test-genrule.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-subatomic-open-closed-test-genrule.tst
@@ -0,0 +1,1722 @@
+(herald subatomic-open-closed-test-genrule (bound 40))
+
+(comment "CPSA 4.4.5")
+(comment
+  "All input read from tst/subatomic-open-closed-test-genrule.scm")
+(comment "Strand count bounded at 40")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4))
+    )
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3))
+    )
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1))
+    )
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-pass" z 2) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd)) (implies (p "dev-close" z 3) (trans z 2))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd)) (implies (p "dev-close" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-close" z 1) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-close" z 3) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd)) (implies (p "dev-open" z 2) (trans z 1))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd)) (implies (p "dev-open" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-open" z 3) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd)) (implies (p "dev-up" z 2) (trans z 1))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd)) (implies (p "dev-up" z 3) (trans z 2))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd)) (implies (p "dev-up" z 4) (trans z 3))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd)) (implies (p "dev-up" z 5) (trans z 4))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-up" z 3) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cau-dev-pass-1
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-pass" z 2) (prec z1 i z 1))
+        (or (= z z1) (prec z1 i z 0)))))
+  (defgenrule cau-dev-close-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-close" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-open-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-open" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-up-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule eff-dev-up-3
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 4) (prec z 3 z1 i))
+        (or (= z z1) (and (p "dev-up" z 5) (prec z 4 z1 i))))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (1 0))
+  (origs (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (d o name) (pt pt-0 pt-1 pt-2 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (auth start-ch)
+  
+  
+  (operation nonce-test (added-strand dev-up 4) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (load ls (cat pt-0 old1)) (stor lk (cat pt-1 "st-k" d o k))
+      (stor ls (cat pt-2 "st" d o))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4))
+    )
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3))
+    )
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1))
+    )
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-pass" z 2) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd)) (implies (p "dev-close" z 3) (trans z 2))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd)) (implies (p "dev-close" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-close" z 1) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-close" z 3) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd)) (implies (p "dev-open" z 2) (trans z 1))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd)) (implies (p "dev-open" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-open" z 3) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd)) (implies (p "dev-up" z 2) (trans z 1))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd)) (implies (p "dev-up" z 3) (trans z 2))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd)) (implies (p "dev-up" z 4) (trans z 3))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd)) (implies (p "dev-up" z 5) (trans z 4))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-up" z 3) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cau-dev-pass-1
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-pass" z 2) (prec z1 i z 1))
+        (or (= z z1) (prec z1 i z 0)))))
+  (defgenrule cau-dev-close-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-close" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-open-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-open" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-up-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule eff-dev-up-3
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 4) (prec z 3 z1 i))
+        (or (= z z1) (and (p "dev-up" z 5) (prec z 4 z1 i))))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 0) (0 1))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((1 4) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation channel-test (added-strand dev-up 4)
+    (ch-msg lk (cat pt-2 "st-k" d o k)) (0 0))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o))))
+  (label 5)
+  (parent 4)
+  (unrealized (0 1) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (precedes ((1 4) (0 0)) ((2 0) (1 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation channel-test (added-strand owner-power-dev 1)
+    (ch-msg start-ch (cat "power-up" d o k)) (1 0))
+  (strand-map 0 1)
+  (traces
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k))))
+  (label 6)
+  (parent 5)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)) ((3 3) (0 1)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d o o)) (0 1))
+  (strand-map 0 1 2)
+  (traces
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-5 "st-k" d o k-0))
+      (stor ls (cat pt "st" d o o))))
+  (label 7)
+  (parent 6)
+  (seen 8)
+  (seen-ops
+    (8
+      (operation channel-test (added-strand dev-up 4)
+        (ch-msg lk (cat pt-3 "st-k" d o k)) (3 2))
+      (strand-map 0 1 2 3)))
+  (unrealized (3 2))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)) ((1 3) (3 2)) ((3 3) (0 1)))
+  
+  (operation channel-test (displaced 4 1 dev-up 4)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o))))
+  (label 8)
+  (parent 7)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-2 (1 3)) (pt-3 (1 4)) (pt (3 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4))
+    )
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3))
+    )
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1))
+    )
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-pass" z 2) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd)) (implies (p "dev-close" z 3) (trans z 2))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd)) (implies (p "dev-close" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-close" z 1) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-close" z 3) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd)) (implies (p "dev-open" z 2) (trans z 1))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd)) (implies (p "dev-open" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-open" z 3) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd)) (implies (p "dev-up" z 2) (trans z 1))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd)) (implies (p "dev-up" z 3) (trans z 2))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd)) (implies (p "dev-up" z 4) (trans z 3))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd)) (implies (p "dev-up" z 5) (trans z 4))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-up" z 3) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cau-dev-pass-1
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-pass" z 2) (prec z1 i z 1))
+        (or (= z z1) (prec z1 i z 0)))))
+  (defgenrule cau-dev-close-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-close" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-open-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-open" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-up-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule eff-dev-up-3
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 4) (prec z 3 z1 i))
+        (or (= z z1) (and (p "dev-up" z 5) (prec z 4 z1 i))))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 9)
+  (unrealized (0 1) (1 0) (1 2))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 0) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch start-ch-0 chan)
+    (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d-0) (o o-0)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  (auth start-ch-0)
+  
+  (leads-to ((2 3) (1 0)))
+  
+  (operation channel-test (added-strand dev-up 4)
+    (ch-msg lk (cat pt-2 "st-k" d-0 o-0 k)) (1 0))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d-0 o-0 k))
+      (load ls (cat pt "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch-0 (cat "power-up" d-0 o-0 k))
+      (load lk (cat pt-0 old)) (load ls (cat pt-1 old1))
+      (stor lk (cat pt-2 "st-k" d-0 o-0 k))
+      (stor ls (cat pt-3 "st" d-0 o-0))))
+  (label 12)
+  (parent 11)
+  (unrealized (0 1) (1 1) (1 2) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)))
+  
+  (operation channel-test (displaced 3 0 owner-power-dev 1)
+    (ch-msg start-ch-0 (cat "power-up" d-0 o-0 k)) (2 0))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o))))
+  (label 13)
+  (parent 12)
+  (unrealized (0 1) (1 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
+    (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (3 1)) ((3 3) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt "st" d o o)) (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-5 "st-k" d o k-0))
+      (stor ls (cat pt "st" d o o))))
+  (label 14)
+  (parent 13)
+  (seen 15)
+  (seen-ops
+    (15
+      (operation channel-test (added-strand dev-up 4)
+        (ch-msg lk (cat pt-3 "st-k" d o k)) (3 2))
+      (strand-map 0 1 2 3)))
+  (unrealized (0 1) (1 2) (3 2))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 4) (3 1)) ((3 3) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation channel-test (displaced 4 2 dev-up 4)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o))))
+  (label 15)
+  (parent 14)
+  (unrealized (0 1) (1 2) (3 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (precedes ((0 0) (2 0)) ((2 4) (3 1)) ((3 3) (1 0)) ((4 0) (3 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-strand owner-open 1)
+    (enc "open" d o n-0 k) (3 0))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))))
+  (label 16)
+  (parent 15)
+  (unrealized (0 1) (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((2 4) (3 1)) ((3 3) (1 0))
+    ((4 1) (3 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-listener k) (enc "open" d o n-0 k)
+    (3 0))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((recv k) (send k)))
+  (label 17)
+  (parent 15)
+  (seen 20)
+  (seen-ops
+    (20
+      (operation nonce-test (added-strand dev-up 4) k (4 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (0 1) (4 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (2 0)) ((2 4) (3 1)) ((3 3) (1 0)) ((4 0) (3 0))
+    ((5 0) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k))))
+  (label 18)
+  (parent 16)
+  (seen 21)
+  (seen-ops
+    (21
+      (operation encryption-test (added-strand dev-up 6) (enc "up" k)
+        (0 1)) (strand-map 0 1 5 2 3 4)))
+  (unrealized (0 1))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 4) (3 1)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 1) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((recv k) (send k)))
+  (label 19)
+  (parent 16)
+  (seen 23)
+  (seen-ops
+    (23
+      (operation nonce-test (added-strand dev-up 4) k (5 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (0 1) (5 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 4) (4 0)) ((3 3) (1 0)) ((4 1) (3 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation nonce-test (displaced 5 2 dev-up 4) k (4 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((recv k) (send k)))
+  (label 20)
+  (parent 17)
+  (unrealized (0 1) (4 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton subatomic-open-closed
+  (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (5 0)) ((2 3) (1 0)) ((3 0) (2 0)) ((4 0) (1 2))
+    ((5 4) (2 1)) ((5 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 1)) ((5 3) (1 0)) ((5 3) (2 2)))
+  
+  (operation encryption-test (displaced 2 6 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 5 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-0 "st" d any))
+      (load lk (cat pt-3 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt-3 "st-k" d o k))
+      (stor ls (cat pt-4 "st" d o)) (send (enc "up" k))))
+  (label 21)
+  (parent 18)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
+  (origs (pt-3 (5 3)) (pt-4 (5 4)) (pt (2 3)) (n (1 3)) (k (0 0))))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 4) (3 1)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 0) (1 2)) ((6 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv k) (send k)))
+  (label 22)
+  (parent 18)
+  (seen 24)
+  (seen-ops
+    (24
+      (operation nonce-test (added-strand dev-up 4) k (6 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (6 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 4) (3 1)) ((2 4) (5 0)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 1) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation nonce-test (displaced 6 2 dev-up 4) k (5 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((recv k) (send k)))
+  (label 23)
+  (parent 19)
+  (unrealized (0 1) (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 4) (3 1)) ((2 4) (6 0)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 0) (1 2)) ((6 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation nonce-test (displaced 7 2 dev-up 4) k (6 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv k) (send k)))
+  (label 24)
+  (parent 22)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-subatomic-open-closed-test-genrule_shapes.tst b/tst/defact-subatomic-open-closed-test-genrule_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-subatomic-open-closed-test-genrule_shapes.tst
@@ -0,0 +1,1055 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald subatomic-open-closed-test-genrule (bound 40))
+
+(comment "CPSA 4.4.5")
+
+(comment
+  "All input read from tst/subatomic-open-closed-test-genrule.scm")
+
+(comment "Strand count bounded at 40")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4)))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1)))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-pass" z 2) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd)) (implies (p "dev-close" z 3) (trans z 2))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd)) (implies (p "dev-close" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-close" z 1) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-close" z 3) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd)) (implies (p "dev-open" z 2) (trans z 1))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd)) (implies (p "dev-open" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-open" z 3) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd)) (implies (p "dev-up" z 2) (trans z 1))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd)) (implies (p "dev-up" z 3) (trans z 2))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd)) (implies (p "dev-up" z 4) (trans z 3))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd)) (implies (p "dev-up" z 5) (trans z 4))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-up" z 3) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cau-dev-pass-1
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-pass" z 2) (prec z1 i z 1))
+        (or (= z z1) (prec z1 i z 0)))))
+  (defgenrule cau-dev-close-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-close" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-open-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-open" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-up-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule eff-dev-up-3
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 4) (prec z 3 z1 i))
+        (or (= z z1) (and (p "dev-up" z 5) (prec z 4 z1 i))))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4)))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1)))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-pass" z 2) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd)) (implies (p "dev-close" z 3) (trans z 2))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd)) (implies (p "dev-close" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-close" z 1) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-close" z 3) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd)) (implies (p "dev-open" z 2) (trans z 1))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd)) (implies (p "dev-open" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-open" z 3) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd)) (implies (p "dev-up" z 2) (trans z 1))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd)) (implies (p "dev-up" z 3) (trans z 2))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd)) (implies (p "dev-up" z 4) (trans z 3))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd)) (implies (p "dev-up" z 5) (trans z 4))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-up" z 3) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cau-dev-pass-1
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-pass" z 2) (prec z1 i z 1))
+        (or (= z z1) (prec z1 i z 0)))))
+  (defgenrule cau-dev-close-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-close" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-open-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-open" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-up-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule eff-dev-up-3
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 4) (prec z 3 z1 i))
+        (or (= z z1) (and (p "dev-up" z 5) (prec z 4 z1 i))))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((1 3) (0 0)) ((1 3) (3 2)) ((3 3) (0 1)))
+  (operation channel-test (displaced 4 1 dev-up 4)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o))))
+  (label 8)
+  (parent 3)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-2 (1 3)) (pt-3 (1 4)) (pt (3 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4)))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1)))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-pass" z 1) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-pass" z 2) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd)) (implies (p "dev-close" z 3) (trans z 2))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd)) (implies (p "dev-close" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-close" z 1) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-close" z 3) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd)) (implies (p "dev-open" z 2) (trans z 1))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd)) (implies (p "dev-open" z 4) (trans z 3))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (k skey) (o d name))
+      (implies
+        (and (p "dev-open" z 1) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-open" z 3) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd)) (implies (p "dev-up" z 2) (trans z 1))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd)) (implies (p "dev-up" z 3) (trans z 2))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd)) (implies (p "dev-up" z 4) (trans z 3))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd)) (implies (p "dev-up" z 5) (trans z 4))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (ls lk locn))
+      (implies
+        (and (p "dev-up" z 3) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cau-dev-pass-1
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-pass" z 2) (prec z1 i z 1))
+        (or (= z z1) (prec z1 i z 0)))))
+  (defgenrule cau-dev-close-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-close" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-open-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-open" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule cau-dev-up-2
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 3) (prec z1 i z 2))
+        (or (= z z1) (prec z1 i z 1)))))
+  (defgenrule eff-dev-up-3
+    (forall ((z z1 strd) (i indx))
+      (implies (and (p "dev-up" z 4) (prec z 3 z1 i))
+        (or (= z z1) (and (p "dev-up" z 5) (prec z 4 z1 i))))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 9)
+  (unrealized (0 1) (1 0) (1 2))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton subatomic-open-closed
+  (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (5 0)) ((2 3) (1 0)) ((3 0) (2 0)) ((4 0) (1 2))
+    ((5 4) (2 1)) ((5 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 3) (1 1)) ((5 3) (1 0)) ((5 3) (2 2)))
+  (operation encryption-test (displaced 2 6 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 5 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-0 "st" d any))
+      (load lk (cat pt-3 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt-3 "st-k" d o k))
+      (stor ls (cat pt-4 "st" d o)) (send (enc "up" k))))
+  (label 21)
+  (parent 9)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
+  (origs (pt-3 (5 3)) (pt-4 (5 4)) (pt (2 3)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-subatomic-open-closed.tst b/tst/defact-subatomic-open-closed.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-subatomic-open-closed.tst
@@ -0,0 +1,1794 @@
+(herald subatomic-open-closed (bound 40))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/subatomic-open-closed.scm")
+(comment "Strand count bounded at 40")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    )
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    )
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 1) (idx 4)))))
+  (defgenrule st-sg-dev-open-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-close-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-pass-1
+    (forall ((z strd))
+      (implies (p "dev-pass" z (idx 2))
+        (fact st-sg-str z (idx 0) (idx 1)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1) (1 0))
+  (origs (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (d o name) (pt pt-0 pt-1 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)))
+  (uniq-orig k)
+  (conf start-ch)
+  (auth start-ch)
+  
+  
+  (operation nonce-test (added-strand dev-up 4) k (1 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt old))
+      (load ls (cat pt-0 old1)) (stor lk (cat pt-1 "st-k" d o k))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    )
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    )
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 1) (idx 4)))))
+  (defgenrule st-sg-dev-open-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-close-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-pass-1
+    (forall ((z strd))
+      (implies (p "dev-pass" z (idx 2))
+        (fact st-sg-str z (idx 0) (idx 1)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  
+  
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 0) (0 1))
+  (origs (n (0 3)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (start-ch chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((1 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation channel-test (added-strand dev-up 4)
+    (ch-msg lk (cat pt "st-k" d o k)) (0 0))
+  (strand-map 0)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k))))
+  (label 5)
+  (parent 4)
+  (unrealized (0 1) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (start-ch chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (precedes ((1 3) (0 0)) ((2 0) (1 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)))
+  
+  (operation channel-test (added-strand owner-power-dev 1)
+    (ch-msg start-ch (cat "power-up" d o k)) (1 0))
+  (strand-map 0 1)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((send start-ch (cat "power-up" d o k))))
+  (label 6)
+  (parent 5)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 3) (0 0)) ((2 0) (1 0)) ((3 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)) ((3 3) (0 1)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d o o)) (0 1))
+  (strand-map 0 1 2)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o))))
+  (label 7)
+  (parent 6)
+  (seen 8)
+  (seen-ops
+    (8
+      (operation channel-test (added-strand dev-up 4)
+        (ch-msg lk (cat pt "st-k" d o k)) (3 2)) (strand-map 0 1 2 3)))
+  (unrealized (3 2))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 3) (3 1)) ((2 0) (1 0)) ((3 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((1 3) (0 0)) ((1 3) (3 2)) ((3 3) (0 1)))
+  
+  (operation channel-test (displaced 4 1 dev-up 4)
+    (ch-msg lk (cat pt-4 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o))))
+  (label 8)
+  (parent 7)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt (1 3)) (pt-0 (3 3)) (n (0 3))))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (precedes ((1 3) (0 0)) ((2 0) (1 0)) ((3 3) (0 0)) ((4 3) (1 1))
+    ((4 3) (3 1)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((1 3) (0 0)) ((3 3) (0 1)) ((4 3) (3 2)))
+  
+  (operation channel-test (added-strand dev-up 4)
+    (ch-msg lk (cat pt-4 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0))))
+  (label 9)
+  (parent 7)
+  (unrealized (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (precedes ((1 3) (0 0)) ((2 0) (1 0)) ((3 3) (0 0)) ((4 3) (1 1))
+    ((4 3) (3 1)) ((5 0) (4 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((1 3) (0 0)) ((3 3) (0 1)) ((4 3) (3 2)))
+  
+  (operation channel-test (added-strand owner-power-dev 1)
+    (ch-msg start-ch-0 (cat "power-up" d o k-0)) (4 0))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0))))
+  (label 10)
+  (parent 9)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-4 (4 3)) (pt-0 (3 3)) (pt (1 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    )
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    )
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    )
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule causeRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z1 i1 z j))
+        (or (= z z1) (prec z1 i1 z i)))))
+  (defgenrule effectRule
+    (forall ((z z1 strd) (i j i1 indx))
+      (implies (and (fact st-sg-str z i j) (prec z i z1 i1))
+        (or (= z z1) (prec z j z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule st-sg-dev-up-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-up-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-up-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5))
+        (fact st-sg-str z (idx 1) (idx 4)))))
+  (defgenrule st-sg-dev-open-2
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-open-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-close-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 3))
+        (fact st-sg-str z (idx 1) (idx 2)))))
+  (defgenrule st-sg-dev-close-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4))
+        (fact st-sg-str z (idx 1) (idx 3)))))
+  (defgenrule st-sg-dev-pass-1
+    (forall ((z strd))
+      (implies (p "dev-pass" z (idx 2))
+        (fact st-sg-str z (idx 0) (idx 1)))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 11)
+  (unrealized (0 1) (1 0) (1 2))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (conf start-ch)
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 12)
+  (parent 11)
+  (unrealized (0 1) (1 0) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not closed under rules"))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (precedes ((0 0) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  
+  
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 13)
+  (parent 12)
+  (unrealized (0 1) (1 0) (1 1) (1 2))
+  (origs (n (1 3)) (k (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o d-0 o-0 name)
+    (pt pt-0 pt-1 pt-2 pval) (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d-0) (o o-0)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k))
+  (conf start-ch)
+  (auth start-ch-0)
+  
+  (leads-to ((2 3) (1 0)))
+  
+  (operation channel-test (added-strand dev-up 4)
+    (ch-msg lk (cat pt "st-k" d-0 o-0 k)) (1 0))
+  (strand-map 0 1)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch-0 (cat "power-up" d-0 o-0 k))
+      (load lk (cat pt-1 old)) (load ls (cat pt-2 old1))
+      (stor lk (cat pt "st-k" d-0 o-0 k))))
+  (label 14)
+  (parent 13)
+  (unrealized (0 1) (1 1) (1 2) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 mesg) (k skey) (n text) (d o name)
+    (pt pt-0 pt-1 pt-2 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)))
+  
+  (operation channel-test (displaced 3 0 owner-power-dev 1)
+    (ch-msg start-ch-0 (cat "power-up" d-0 o-0 k)) (2 0))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k))))
+  (label 15)
+  (parent 14)
+  (unrealized (0 1) (1 1) (1 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)) ((3 3) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)))
+  
+  (operation channel-test (added-strand dev-open 4)
+    (ch-msg ls (cat pt-0 "st" d o o)) (1 1))
+  (strand-map 0 1 2)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o))))
+  (label 16)
+  (parent 15)
+  (seen 17)
+  (seen-ops
+    (17
+      (operation channel-test (added-strand dev-up 4)
+        (ch-msg lk (cat pt "st-k" d o k)) (3 2)) (strand-map 0 1 2 3)))
+  (unrealized (0 1) (1 2) (3 2))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((0 0) (2 0)) ((2 3) (3 1)) ((3 3) (1 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation channel-test (displaced 4 2 dev-up 4)
+    (ch-msg lk (cat pt-4 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o))))
+  (label 17)
+  (parent 16)
+  (unrealized (0 1) (1 2) (3 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)) ((3 3) (1 0)) ((4 3) (2 1))
+    ((4 3) (3 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation channel-test (added-strand dev-up 4)
+    (ch-msg lk (cat pt-4 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0))))
+  (label 18)
+  (parent 16)
+  (unrealized (0 1) (1 2) (4 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (precedes ((0 0) (2 0)) ((2 3) (3 1)) ((3 3) (1 0)) ((4 0) (3 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-strand owner-open 1)
+    (enc "open" d o n-0 k) (3 0))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((send (enc "open" d o n-0 k))))
+  (label 19)
+  (parent 17)
+  (unrealized (0 1) (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((2 3) (3 1)) ((3 3) (1 0))
+    ((4 1) (3 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-listener k) (enc "open" d o n-0 k)
+    (3 0))
+  (strand-map 0 1 2 3)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((recv k) (send k)))
+  (label 20)
+  (parent 17)
+  (seen 24)
+  (seen-ops
+    (24
+      (operation nonce-test (added-strand dev-up 4) k (4 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (0 1) (4 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)) ((3 3) (1 0)) ((4 3) (2 1))
+    ((4 3) (3 1)) ((5 0) (4 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation channel-test (added-strand owner-power-dev 1)
+    (ch-msg start-ch-0 (cat "power-up" d o k-0)) (4 0))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0))))
+  (label 21)
+  (parent 18)
+  (unrealized (0 1) (1 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (2 0)) ((2 3) (3 1)) ((3 3) (1 0)) ((4 0) (3 0))
+    ((5 0) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k))))
+  (label 22)
+  (parent 19)
+  (seen 27)
+  (seen-ops
+    (27
+      (operation encryption-test (added-strand dev-up 6) (enc "up" k)
+        (0 1)) (strand-map 0 1 5 2 3 4)))
+  (unrealized (0 1))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 3) (3 1)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 1) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((recv k) (send k)))
+  (label 23)
+  (parent 19)
+  (seen 29)
+  (seen-ops
+    (29
+      (operation nonce-test (added-strand dev-up 4) k (5 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (0 1) (5 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 3) (4 0)) ((3 3) (1 0)) ((4 1) (3 0)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation nonce-test (displaced 5 2 dev-up 4) k (4 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((recv k) (send k)))
+  (label 24)
+  (parent 20)
+  (unrealized (0 1) (4 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (defstrand user-pass 1 (k k))
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)) ((3 3) (1 0)) ((4 3) (2 1))
+    ((4 3) (3 1)) ((5 0) (4 0)) ((6 0) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation encryption-test (added-strand user-pass 1)
+    (enc "may I pass" k) (1 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0)))
+    ((send (enc "may I pass" k))))
+  (label 25)
+  (parent 21)
+  (unrealized (0 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 3) (1 0)) ((3 3) (1 0))
+    ((4 3) (2 1)) ((4 3) (3 1)) ((5 0) (4 0)) ((6 1) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation encryption-test (added-listener k) (enc "may I pass" k)
+    (1 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0))) ((recv k) (send k)))
+  (label 26)
+  (parent 21)
+  (seen 31)
+  (seen-ops
+    (31
+      (operation nonce-test (added-strand dev-up 4) k (6 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (0 1) (6 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (5 0)) ((2 3) (1 0)) ((3 0) (2 0)) ((4 0) (1 2))
+    ((5 4) (2 1)) ((5 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 1)) ((5 3) (1 0)) ((5 3) (2 2)))
+  
+  (operation encryption-test (displaced 2 6 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 5 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-0 "st" d any))
+      (load lk (cat pt-3 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt-3 "st-k" d o k))
+      (stor ls (cat pt-4 "st" d o)) (send (enc "up" k))))
+  (label 27)
+  (parent 22)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
+  (origs (pt-3 (5 3)) (pt-4 (5 4)) (pt (2 3)) (n (1 3)) (k (0 0))))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 3) (3 1)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 0) (1 2)) ((6 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv k) (send k)))
+  (label 28)
+  (parent 22)
+  (seen 32)
+  (seen-ops
+    (32
+      (operation nonce-test (added-strand dev-up 4) k (6 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (6 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 3) (3 1)) ((2 3) (5 0)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 1) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation nonce-test (displaced 6 2 dev-up 4) k (5 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((recv k) (send k)))
+  (label 29)
+  (parent 23)
+  (unrealized (0 1) (5 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (defstrand user-pass 1 (k k))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((0 0) (7 0)) ((2 3) (1 0)) ((3 3) (1 0))
+    ((4 3) (2 1)) ((4 3) (3 1)) ((5 0) (4 0)) ((6 0) (1 2))
+    ((7 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation encryption-test (added-listener k) (enc "up" k) (0 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0)))
+    ((send (enc "may I pass" k))) ((recv k) (send k)))
+  (label 30)
+  (parent 25)
+  (seen 33)
+  (seen-ops
+    (33
+      (operation nonce-test (added-strand dev-up 4) k (7 0)
+        (ch-msg start-ch (cat "power-up" d o k)))
+      (strand-map 0 1 2 3 4 5 6 7)))
+  (unrealized (7 0))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)) ((2 3) (6 0)) ((3 3) (1 0))
+    ((4 3) (2 1)) ((4 3) (3 1)) ((5 0) (4 0)) ((6 1) (1 2)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation nonce-test (displaced 7 2 dev-up 4) k (6 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0))) ((recv k) (send k)))
+  (label 31)
+  (parent 26)
+  (unrealized (0 1) (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 3) (3 1)) ((2 3) (6 0)) ((3 3) (1 0))
+    ((4 0) (3 0)) ((5 0) (1 2)) ((6 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  
+  (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))
+  
+  (operation nonce-test (displaced 7 2 dev-up 4) k (6 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt "st-k" d o k)) (stor ls (cat pt-0 "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv k) (send k)))
+  (label 32)
+  (parent 28)
+  (unrealized (6 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any old-0 old1-0 mesg) (k k-0 skey) (n n-0 text)
+    (d o name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
+    (start-ch start-ch-0 chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 4 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand dev-up 4 (old old-0) (old1 old1-0) (k k-0) (d d) (o o)
+    (start-ch start-ch-0) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k-0) (d d) (o o)
+    (start-ch start-ch-0))
+  (defstrand user-pass 1 (k k))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 3) (1 0)) ((2 3) (7 0)) ((3 3) (1 0))
+    ((4 3) (2 1)) ((4 3) (3 1)) ((5 0) (4 0)) ((6 0) (1 2))
+    ((7 1) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k) (cat "st-k" d o k-0))
+  (conf start-ch start-ch-0)
+  (auth start-ch start-ch-0)
+  
+  (leads-to ((2 3) (1 0)) ((3 3) (1 1)) ((4 3) (3 2)))
+  
+  (operation nonce-test (displaced 8 2 dev-up 4) k (7 0)
+    (ch-msg start-ch (cat "power-up" d o k)))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt "st-k" d o k)))
+    ((recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (load lk (cat pt-4 "st-k" d o k-0))
+      (stor ls (cat pt-0 "st" d o o)))
+    ((recv start-ch-0 (cat "power-up" d o k-0))
+      (load lk (cat pt-5 old-0)) (load ls (cat pt-6 old1-0))
+      (stor lk (cat pt-4 "st-k" d o k-0)))
+    ((send start-ch-0 (cat "power-up" d o k-0)))
+    ((send (enc "may I pass" k))) ((recv k) (send k)))
+  (label 33)
+  (parent 30)
+  (unrealized (7 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-subatomic-open-closed_shapes.tst b/tst/defact-subatomic-open-closed_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-subatomic-open-closed_shapes.tst
@@ -0,0 +1,694 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald subatomic-open-closed (bound 40))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/subatomic-open-closed.scm")
+
+(comment "Strand count bounded at 40")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4)))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1)))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (d o name) (start-ch chan))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (deflistener k)
+  (uniq-orig k)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((recv k) (send k)))
+  (label 0)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (origs (k (0 0)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4)))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1)))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (uniq-orig n)
+  (traces
+    ((load lk (cat pt "st-k" d o k)) (load ls (cat pt-0 "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
+  (label 3)
+  (realized)
+  (origs (n (0 3)))
+  (comment "Not closed under rules"))
+
+(defskeleton subatomic-open-closed
+  (vars (old old1 any mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (ls lk locn))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (defstrand owner-power-dev 1 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (precedes ((1 4) (3 1)) ((2 0) (1 0)) ((3 3) (0 0)))
+  (uniq-orig n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((1 3) (0 0)) ((1 3) (3 2)) ((3 3) (0 1)))
+  (operation channel-test (displaced 4 1 dev-up 4)
+    (ch-msg lk (cat pt-5 "st-k" d o k-0)) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls (cat pt-1 old1)) (stor lk (cat pt-2 "st-k" d o k))
+      (stor ls (cat pt-3 "st" d o)))
+    ((send start-ch (cat "power-up" d o k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-4 "st" d any))
+      (load lk (cat pt-2 "st-k" d o k)) (stor ls (cat pt "st" d o o))))
+  (label 8)
+  (parent 3)
+  (realized)
+  (shape)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
+  (origs (pt-2 (1 3)) (pt-3 (1 4)) (pt (3 3)) (n (0 3))))
+
+(comment "Nothing left to do")
+
+(defprotocol subatomic-open-closed basic
+  (defrole dev-up
+    (vars (k skey) (d o name) (old old1 mesg) (start-ch chan)
+      (lk ls locn))
+    (trace (recv start-ch (cat "power-up" d o k)) (load lk old)
+      (load ls old1) (stor lk (cat "st-k" d o k))
+      (stor ls (cat "st" d o)) (send (enc "up" k)))
+    (auth start-ch)
+    (critical-sections (1 4)))
+  (defrole owner-power-dev
+    (vars (k skey) (d o name) (start-ch chan))
+    (trace (send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    (conf start-ch))
+  (defrole owner-open
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "open" d o n k)) (recv n)))
+  (defrole owner-close
+    (vars (k skey) (n text) (d o name))
+    (trace (send (enc "close" d o n k)) (recv n)))
+  (defrole dev-open
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "open" d o n k)) (load ls (cat "st" d any))
+      (load lk (cat "st-k" d o k)) (stor ls (cat "st" d o o)) (send n))
+    (critical-sections (1 3))
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))))
+  (defrole dev-close
+    (vars (k skey) (n text) (any mesg) (d o name) (lk ls locn))
+    (trace (recv (enc "close" d o n k)) (load lk (cat "st-k" d o k))
+      (load ls (cat "st" d any)) (stor ls (cat "st" d o)) (send n))
+    (gen-st (cat "st-k" d o k))
+    (critical-sections (1 3)))
+  (defrole dev-pass
+    (vars (k skey) (n text) (d o name) (lk ls locn))
+    (trace (load lk (cat "st-k" d o k)) (load ls (cat "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    (uniq-orig n)
+    (gen-st (cat "st-k" d o k) (cat "st" d (cat o o)))
+    (critical-sections (0 1)))
+  (defrole user-pass
+    (vars (k skey))
+    (trace (send (enc "may I pass" k)) (recv (enc "you may pass" k))))
+  (defrule power-deliver-once
+    (forall ((z1 z2 strd) (k skey))
+      (implies
+        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
+          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (= z1 z2))))
+  (defrule same-dev-ls-lk
+    (forall ((ls lk lk-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (= lk lk-0))))
+  (defrule same-dev-lk-ls
+    (forall ((lk ls ls-0 locn))
+      (implies
+        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (= ls ls-0))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule discreteAfter
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule discreteBefore
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule fact-dev-up-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-up" z (idx 3)) (p "dev-up" "ls" z ls)
+          (p "dev-up" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-open-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-open" z (idx 3)) (p "dev-open" "ls" z ls)
+          (p "dev-open" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-close-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-close" z (idx 3)) (p "dev-close" "ls" z ls)
+          (p "dev-close" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule fact-dev-pass-same-dev0
+    (forall ((z strd) (lk ls locn))
+      (implies
+        (and (p "dev-pass" z (idx 2)) (p "dev-pass" "ls" z ls)
+          (p "dev-pass" "lk" z lk)) (fact same-dev ls lk))))
+  (defgenrule trRl_dev-up-at-4
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 4)))))
+  (defgenrule trRl_dev-up-at-3
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-up-at-2
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 5)) (trans z (idx 2)))))
+  (defgenrule trRl_dev-up-at-1
+    (forall ((z strd))
+      (implies (p "dev-up" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-open-at-3
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-open-at-1
+    (forall ((z strd))
+      (implies (p "dev-open" z (idx 4)) (trans z (idx 1)))))
+  (defgenrule trRl_dev-close-at-3
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_dev-close-at-2
+    (forall ((z strd))
+      (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))
+  (defgenrule eff-dev-up-3
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 4)) (prec z (idx 3) z1 i))
+        (or (= z z1)
+          (and (p "dev-up" z (idx 5)) (prec z (idx 4) z1 i))))))
+  (defgenrule cau-dev-up-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-up" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-open-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-open" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-close-2
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-close" z (idx 3)) (prec z1 i z (idx 2)))
+        (or (= z z1) (prec z1 i z (idx 1))))))
+  (defgenrule cau-dev-pass-1
+    (forall ((i indx) (z1 z strd))
+      (implies (and (p "dev-pass" z (idx 2)) (prec z1 i z (idx 1)))
+        (or (= z z1) (prec z1 i z (idx 0))))))
+  (defgenrule gen-st-dev-open-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "k" z k)
+          (p "dev-open" "o" z o) (p "dev-open" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-open-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-open" z (idx 1)) (p "dev-open" "o" z o)
+          (p "dev-open" "d" z d)) (gen-st (cat "st" d o o)))))
+  (defgenrule gen-st-dev-close-0
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "k" z k)
+          (p "dev-close" "o" z o) (p "dev-close" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-1
+    (forall ((z strd) (d o name) (k skey))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
+        (gen-st (cat "st-k" d o k)))))
+  (defgenrule gen-st-dev-pass-0
+    (forall ((z strd) (d o name))
+      (implies
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "o" z o)
+          (p "dev-pass" "d" z d)) (gen-st (cat "st" d o o))))))
+
+(defskeleton subatomic-open-closed
+  (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)
+    (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d-0) (o o-0) (lk lk) (ls ls))
+  (uniq-orig k n)
+  (conf start-ch)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt "st-k" d-0 o-0 k))
+      (load ls (cat pt-0 "st" d-0 o-0 o-0)) (recv (enc "may I pass" k))
+      (send (enc "you may pass" n k))))
+  (label 9)
+  (unrealized (0 1) (1 0) (1 2))
+  (preskeleton)
+  (origs (n (1 3)) (k (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton subatomic-open-closed
+  (vars (any old old1 mesg) (k skey) (n n-0 text) (d o name)
+    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval) (start-ch chan) (lk ls locn))
+  (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-open 4 (any any) (k k) (n n-0) (d d) (o o) (lk lk)
+    (ls ls))
+  (defstrand owner-open 1 (k k) (n n-0) (d d) (o o))
+  (defstrand user-pass 1 (k k))
+  (defstrand dev-up 6 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls))
+  (precedes ((0 0) (5 0)) ((2 3) (1 0)) ((3 0) (2 0)) ((4 0) (1 2))
+    ((5 4) (2 1)) ((5 5) (0 1)))
+  (uniq-orig k n)
+  (gen-st (cat "st" d o o) (cat "st-k" d o k))
+  (conf start-ch)
+  (auth start-ch)
+  (leads-to ((2 3) (1 1)) ((5 3) (1 0)) ((5 3) (2 2)))
+  (operation encryption-test (displaced 2 6 dev-up 6) (enc "up" k)
+    (0 1))
+  (strand-map 0 1 5 2 3 4)
+  (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
+    ((load lk (cat pt-3 "st-k" d o k)) (load ls (cat pt "st" d o o))
+      (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))
+    ((recv (enc "open" d o n-0 k)) (load ls (cat pt-0 "st" d any))
+      (load lk (cat pt-3 "st-k" d o k)) (stor ls (cat pt "st" d o o)))
+    ((send (enc "open" d o n-0 k))) ((send (enc "may I pass" k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-1 old))
+      (load ls (cat pt-2 old1)) (stor lk (cat pt-3 "st-k" d o k))
+      (stor ls (cat pt-4 "st" d o)) (send (enc "up" k))))
+  (label 21)
+  (parent 9)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
+  (origs (pt-3 (5 3)) (pt-4 (5 4)) (pt (2 3)) (n (1 3)) (k (0 0))))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-sync_locn_envelope.tst b/tst/defact-sync_locn_envelope.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-sync_locn_envelope.tst
@@ -0,0 +1,3195 @@
+(herald "Envelope Protocol, location-based version" (check-nonces)
+  (bound 30) (limit 6000))
+
+(comment "CPSA 4.4.5")
+(comment "All input read from tst/sync_locn_envelope.scm")
+(comment "Step count limited to 6000")
+(comment "Strand count bounded at 30")
+(comment "Nonces checked first")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey) (tpm tpmconf chan))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpmconf)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 0)
+  (unrealized (0 0) (1 3))
+  (preskeleton)
+  (origs (v (1 4)) (n (1 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey) (tpm tpmconf chan))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (precedes ((1 4) (0 0)))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpmconf)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 1)
+  (parent 0)
+  (unrealized (1 3))
+  (origs (v (1 4)) (n (1 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey)
+    (tpm tpmconf tpm-0 chan))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 4) (0 0)) ((2 1) (1 3)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpmconf)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik) (1 3))
+  (strand-map 0 1)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0 (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey) (tpm tpmconf chan))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 2) (2 0)) ((1 4) (0 0)) ((2 1) (1 3)))
+  (non-orig aik (invk k))
+  (uniq-orig v n k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 3)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey) (tpm tpmconf chan))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (precedes ((1 2) (2 0)) ((1 4) (0 0)) ((2 1) (1 3)) ((3 0) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation channel-test (added-strand tpm-extend-enc 1)
+    (ch-msg tpm (cat "token" nonce)) (1 0))
+  (strand-map 0 1 2)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (current-value mesg) (v n data) (pcr-id nonce pcr-id-0 text)
+    (k aik aik-0 akey) (pt pval) (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-0) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3)) ((3 0) (1 0))
+    ((4 3) (0 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig v n nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (0 0) (enc v k))
+  (strand-map 0 1 2 3)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 5)
+  (parent 4)
+  (unrealized (4 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey) (pt pval)
+    (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3)) ((3 0) (1 0))
+    ((4 3) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 5 2 tpm-create-key 2)
+    (enc "created" k pcr-id-0 current-value aik-0) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 6)
+  (parent 5)
+  (unrealized (4 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (pt pt-0 pval) (tpmconf tpm tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm-0) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm-0))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3)) ((3 3) (0 0))
+    ((4 0) (1 0)) ((4 3) (3 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm-0)
+  (leads-to ((4 3) (3 2)))
+  
+  (operation channel-test (displaced 3 5 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (4 2))
+  (strand-map 0 1 2 4 3)
+  (traces ((recv v) (send v))
+    ((recv tpm-0 (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm-0
+        (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0 (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-0 "obtain" (hash pcr-id-0 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 7)
+  (parent 6)
+  (unrealized (4 1) (4 2))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce pcr-id-0 nonce-0 text) (k aik akey)
+    (pt pt-0 pval) (tpm tpmconf tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3)) ((3 0) (1 0))
+    ((4 3) (0 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  (leads-to ((5 3) (4 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-0 "obtain"
+          (hash pcr-id-0 "obtain" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 8)
+  (parent 6)
+  (unrealized (5 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 tpm-1 chan)
+    (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpm-1) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm-1))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-1) (nonce nonce-0) (tpm tpm-1) (pcr pcr))
+  (precedes ((1 1) (5 1)) ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3))
+    ((3 3) (0 0)) ((4 3) (3 2)) ((5 0) (1 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm-1)
+  (leads-to ((4 3) (3 2)) ((5 3) (4 2)))
+  
+  (operation channel-test (displaced 3 6 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 2))
+  (strand-map 0 1 2 5 3 4)
+  (traces ((recv v) (send v))
+    ((recv tpm-1 (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce-0)))
+      (send tpm-1
+        (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-1 (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-0 "obtain" (hash pcr-id-0 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1 (cat "extend" pcr-id-1 n (hash pcr-id-1 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 9)
+  (parent 8)
+  (unrealized (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce pcr-id-0 nonce-0 pcr-id-1 nonce-1 text)
+    (k aik akey) (pt pt-0 pt-1 pval)
+    (tpm tpmconf tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-1) (nonce nonce-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 1) (6 1)) ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3))
+    ((3 0) (1 0)) ((4 3) (0 0)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce nonce-0 nonce-1 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-0 "obtain"
+          (hash pcr-id-0 "obtain" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2 (cat "extend" pcr-id-1 n (hash pcr-id-1 n nonce-1)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 10)
+  (parent 8)
+  (unrealized (6 1))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 nonce nonce-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (precedes ((1 1) (5 1)) ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3))
+    ((3 3) (0 0)) ((4 3) (3 2)) ((5 0) (1 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((4 3) (3 2)) ((5 3) (4 2)))
+  
+  (operation channel-test (displaced 6 1 alice 2)
+    (ch-msg tpm-1 (cat "extend" pcr-id-1 n (hash pcr-id-1 n nonce-0)))
+    (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-0 "obtain" (hash pcr-id-0 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 11)
+  (parent 9)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce-0) (k k) (aik aik)
+        (tpm tpmconf) (tpmconf tpmconf))))
+  (origs (n (1 1)) (nonce-0 (5 0)) (pt-0 (5 3)) (nonce (4 0)) (pt (4 3))
+    (k (2 1)) (v (1 4))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 12)
+  (unrealized (0 0) (1 3))
+  (preskeleton)
+  (origs (v (1 4)) (n (1 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (precedes ((1 4) (0 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 13)
+  (parent 12)
+  (unrealized (0 0) (1 3))
+  (origs (v (1 4)) (n (1 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((1 4) (0 0)) ((2 1) (1 3)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpmconf)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (1 3))
+  (strand-map 0 1)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 14)
+  (parent 13)
+  (unrealized (0 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((1 2) (2 0)) ((1 4) (0 0)) ((2 1) (1 3)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation channel-test (displaced 3 1 alice 3)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 15)
+  (parent 14)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (precedes ((1 2) (2 0)) ((1 4) (0 0)) ((2 1) (1 3)) ((3 0) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation channel-test (added-strand tpm-extend-enc 1)
+    (ch-msg tpm (cat "token" nonce)) (1 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce))))
+  (label 16)
+  (parent 15)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey) (pt pval)
+    (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3)) ((3 0) (1 0))
+    ((4 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (gen-st (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpm)
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 17)
+  (parent 16)
+  (unrealized (4 1))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce text) (k aik akey)
+    (pt pt-0 pval) (tpmconf tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm-0) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3)) ((3 2) (0 0))
+    ((4 0) (1 0)) ((4 3) (3 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpm-0)
+  (leads-to ((4 3) (3 1)))
+  
+  (operation channel-test (displaced 3 5 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "refuse"))) (4 1))
+  (strand-map 0 1 2 4 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-0 (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm-0
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "refuse" (hash pcr-id-1 "refuse" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse")))))
+  (label 18)
+  (parent 17)
+  (unrealized (4 1) (4 2))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 text)
+    (k aik akey) (pt pt-0 pval) (tpm tpmconf tpm-0 tpm-1 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (precedes ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3)) ((3 0) (1 0))
+    ((4 2) (0 0)) ((5 3) (4 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpm)
+  (leads-to ((5 3) (4 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "refuse"))) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-1 "refuse"
+          (hash pcr-id-1 "refuse" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse")))))
+  (label 19)
+  (parent 17)
+  (unrealized (5 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce pcr-id-2 nonce-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpm-1) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-1))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (nonce nonce-0) (tpm tpm-1) (pcr pcr))
+  (precedes ((1 1) (5 1)) ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3))
+    ((3 2) (0 0)) ((4 3) (3 1)) ((5 0) (1 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpm-1)
+  (leads-to ((4 3) (3 1)) ((5 3) (4 2)))
+  
+  (operation channel-test (displaced 3 6 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 2))
+  (strand-map 0 1 2 5 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm-1 (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpm-1
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-1
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "refuse" (hash pcr-id-1 "refuse" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 20)
+  (parent 19)
+  (unrealized (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 pcr-id-2 nonce-1 text)
+    (k aik akey) (pt pt-0 pt-1 pval)
+    (tpm tpmconf tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (nonce nonce-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((1 1) (6 1)) ((1 2) (2 0)) ((1 4) (4 0)) ((2 1) (1 3))
+    ((3 0) (1 0)) ((4 2) (0 0)) ((5 3) (4 1)) ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpm)
+  (leads-to ((5 3) (4 1)) ((6 3) (5 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-1 "refuse"
+          (hash pcr-id-1 "refuse" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-1)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 21)
+  (parent 19)
+  (unrealized (6 1))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (precedes ((1 1) (5 1)) ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3))
+    ((3 2) (0 0)) ((4 3) (3 1)) ((5 0) (1 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((4 3) (3 1)) ((5 3) (4 2)))
+  
+  (operation channel-test (displaced 6 1 alice 2)
+    (ch-msg tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+    (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "refuse" (hash pcr-id-1 "refuse" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 22)
+  (parent 20)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
+  (origs (n (1 1)) (nonce-0 (5 0)) (pt-0 (5 3)) (nonce (4 0)) (pt (4 3))
+    (k (2 1)) (v (1 4))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 23)
+  (unrealized (0 0) (1 0) (2 3))
+  (preskeleton)
+  (origs (v (2 4)) (n (2 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (precedes ((2 4) (0 0)) ((2 4) (1 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 24)
+  (parent 23)
+  (unrealized (0 0) (2 3))
+  (origs (v (2 4)) (n (2 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((2 4) (0 0)) ((2 4) (1 0)) ((3 1) (2 3)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpmconf)
+  (auth tpm-0)
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (2 3))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 25)
+  (parent 24)
+  (unrealized (0 0) (1 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (1 0)) ((3 1) (2 3)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation channel-test (displaced 4 2 alice 3)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 26)
+  (parent 25)
+  (unrealized (0 0) (1 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (1 0)) ((3 1) (2 3))
+    ((4 0) (2 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation channel-test (added-strand tpm-extend-enc 1)
+    (ch-msg tpm (cat "token" nonce)) (2 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce))))
+  (label 27)
+  (parent 26)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (current-value mesg) (n v data)
+    (pcr-id pcr-id-0 nonce pcr-id-1 text) (k aik aik-0 akey) (pt pval)
+    (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-1) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0)) ((3 1) (2 3))
+    ((4 0) (2 0)) ((5 3) (1 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig n v nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  (operation nonce-test (added-strand tpm-decrypt 4) v (1 0) (enc v k))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-1 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 28)
+  (parent 27)
+  (unrealized (0 0) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey) (pt pval)
+    (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0)) ((3 1) (2 3))
+    ((4 0) (2 0)) ((5 3) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  
+  (operation encryption-test (displaced 6 3 tpm-create-key 2)
+    (enc "created" k pcr-id-1 current-value aik-0) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 29)
+  (parent 28)
+  (unrealized (0 0) (5 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce text) (k aik akey)
+    (pt pt-0 pval) (tpmconf tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm-0) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (4 0)) ((3 1) (2 3))
+    ((4 3) (1 0)) ((5 0) (2 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm-0)
+  (leads-to ((5 3) (4 2)))
+  
+  (operation channel-test (displaced 4 6 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (5 2))
+  (strand-map 0 1 2 3 5 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm-0 (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm-0
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 30)
+  (parent 29)
+  (unrealized (0 0) (5 1) (5 2))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 text)
+    (k aik akey) (pt pt-0 pval) (tpm tpmconf tpm-0 tpm-1 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0)) ((3 1) (2 3))
+    ((4 0) (2 0)) ((5 3) (1 0)) ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  (leads-to ((6 3) (5 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-1 "obtain"
+          (hash pcr-id-1 "obtain" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 31)
+  (parent 29)
+  (unrealized (0 0) (6 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce pcr-id-2 nonce-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpm-1) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-1))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (nonce nonce-0) (tpm tpm-1) (pcr pcr))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (4 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm-1)
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation channel-test (displaced 4 7 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (6 2))
+  (strand-map 0 1 2 3 6 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm-1 (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpm-1
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-1
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 32)
+  (parent 31)
+  (unrealized (0 0) (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 pcr-id-2 nonce-1 text)
+    (k aik akey) (pt pt-0 pt-1 pval)
+    (tpm tpmconf tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (nonce nonce-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((2 1) (7 1)) ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0))
+    ((3 1) (2 3)) ((4 0) (2 0)) ((5 3) (1 0)) ((6 3) (5 2))
+    ((7 3) (6 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  (leads-to ((6 3) (5 2)) ((7 3) (6 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-1 "obtain"
+          (hash pcr-id-1 "obtain" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-1)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 33)
+  (parent 31)
+  (unrealized (0 0) (7 1))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (4 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation channel-test (displaced 7 2 alice 2)
+    (ch-msg tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+    (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 34)
+  (parent 32)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pval) (tpmconf tpm tpm-0 tpm-1 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-1) (pcr pcr-0))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (4 0)) ((2 4) (7 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)) ((7 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-1 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 35)
+  (parent 34)
+  (unrealized (7 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 pcr-id-2 nonce-1 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pval)
+    (tpmconf tpm tpm-0 tpm-1 tpm-2 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-1) (pcr pcr-0))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (nonce nonce-1)
+    (tpm tpm-2) (pcr pcr-0))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (4 0)) ((2 4) (7 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)) ((7 2) (0 0)) ((8 3) (7 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)) ((8 3) (7 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))) (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-1 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2
+        (cat "extend" pcr-id-2 "refuse"
+          (hash pcr-id-2 "refuse" nonce-1)))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))))
+  (label 36)
+  (parent 35)
+  (unrealized (8 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 pcr-id-2 nonce-1 pcr-id-3
+      nonce-2 text) (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpmconf tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-1) (pcr pcr-0))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (nonce nonce-1)
+    (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-3) (nonce nonce-2) (tpm tpm-3) (pcr pcr-0))
+  (precedes ((2 1) (6 1)) ((2 1) (9 1)) ((2 2) (3 0)) ((2 4) (4 0))
+    ((2 4) (7 0)) ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2))
+    ((6 0) (2 0)) ((6 3) (5 2)) ((7 2) (0 0)) ((8 3) (7 1))
+    ((9 3) (8 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 nonce-2 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)) ((8 3) (7 1)) ((9 3) (8 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr-0 (cat pt-3 (hash "0" n))) (8 2))
+  (strand-map 0 1 2 3 4 5 6 7 8)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-1 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2
+        (cat "extend" pcr-id-2 "refuse"
+          (hash pcr-id-2 "refuse" nonce-1)))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((send tpm-3 (cat "token" nonce-2))
+      (recv tpm-3 (cat "extend" pcr-id-3 n (hash pcr-id-3 n nonce-2)))
+      (load pcr-0 (cat pt-4 "0")) (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 37)
+  (parent 36)
+  (unrealized (9 1))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 38)
+  (unrealized (0 0) (1 0) (2 3))
+  (preskeleton)
+  (origs (v (2 4)) (n (2 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (precedes ((2 4) (0 0)) ((2 4) (1 0)))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 39)
+  (parent 38)
+  (unrealized (0 0) (2 3))
+  (origs (v (2 4)) (n (2 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf tpm-0 chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (precedes ((2 4) (0 0)) ((2 4) (1 0)) ((3 1) (2 3)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpmconf)
+  (auth tpm-0)
+  
+  (operation encryption-test (added-strand tpm-create-key 2)
+    (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik) (2 3))
+  (strand-map 0 1 2)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 40)
+  (parent 39)
+  (unrealized (0 0) (1 0) (3 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (1 0)) ((3 1) (2 3)))
+  (non-orig aik (invk k))
+  (uniq-orig n v k)
+  (conf tpmconf)
+  (auth tpm)
+  
+  (operation channel-test (displaced 4 2 alice 3)
+    (ch-msg tpm-0
+      (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain"))) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))))
+  (label 41)
+  (parent 40)
+  (unrealized (0 0) (1 0) (2 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (1 0)) ((3 1) (2 3))
+    ((4 0) (2 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  
+  (operation channel-test (added-strand tpm-extend-enc 1)
+    (ch-msg tpm (cat "token" nonce)) (2 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce))))
+  (label 42)
+  (parent 41)
+  (unrealized (0 0) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (current-value mesg) (n v data)
+    (pcr-id pcr-id-0 nonce pcr-id-1 text) (k aik aik-0 akey) (pt pval)
+    (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v) (current-value current-value)
+    (pcr-id pcr-id-1) (k k) (aik aik-0) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0)) ((3 1) (2 3))
+    ((4 0) (2 0)) ((5 3) (1 0)))
+  (non-orig aik aik-0 (invk k))
+  (uniq-orig n v nonce k)
+  (conf tpmconf)
+  (auth tpm)
+  
+  (operation nonce-test (added-strand tpm-decrypt 4) v (1 0) (enc v k))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-1 current-value aik-0))
+      (load pcr (cat pt current-value)) (send v)))
+  (label 43)
+  (parent 42)
+  (unrealized (0 0) (5 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey) (pt pval)
+    (tpm tpmconf tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0)) ((3 1) (2 3))
+    ((4 0) (2 0)) ((5 3) (1 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (gen-st (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  
+  
+  (operation encryption-test (displaced 6 3 tpm-create-key 2)
+    (enc "created" k pcr-id-1 current-value aik-0) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v)))
+  (label 44)
+  (parent 43)
+  (unrealized (0 0) (5 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce text) (k aik akey)
+    (pt pt-0 pval) (tpmconf tpm tpm-0 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm-0) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-0))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (4 0)) ((3 1) (2 3))
+    ((4 3) (1 0)) ((5 0) (2 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm-0)
+  
+  (leads-to ((5 3) (4 2)))
+  
+  (operation channel-test (displaced 4 6 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (5 2))
+  (strand-map 0 1 2 3 5 4)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm-0 (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm-0
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-0
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 45)
+  (parent 44)
+  (unrealized (0 0) (5 1) (5 2))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 text)
+    (k aik akey) (pt pt-0 pval) (tpm tpmconf tpm-0 tpm-1 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (precedes ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0)) ((3 1) (2 3))
+    ((4 0) (2 0)) ((5 3) (1 0)) ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  
+  (leads-to ((6 3) (5 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt (hash (hash "0" n) "obtain"))) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-1 "obtain"
+          (hash pcr-id-1 "obtain" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain")))))
+  (label 46)
+  (parent 44)
+  (unrealized (0 0) (6 2))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce pcr-id-2 nonce-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 tpm-1 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpm-1) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm-1))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (nonce nonce-0) (tpm tpm-1) (pcr pcr))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (4 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm-1)
+  
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation channel-test (displaced 4 7 tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (6 2))
+  (strand-map 0 1 2 3 6 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm-1 (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpm-1
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm-1
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 47)
+  (parent 46)
+  (unrealized (0 0) (6 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 nonce pcr-id-1 nonce-0 pcr-id-2 nonce-1 text)
+    (k aik akey) (pt pt-0 pt-1 pval)
+    (tpm tpmconf tpm-0 tpm-1 tpm-2 chan) (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpm))
+  (defstrand tpm-extend-enc 1 (nonce nonce) (tpm tpm))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce-0)
+    (tpm tpm-1) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-2) (nonce nonce-1) (tpm tpm-2) (pcr pcr))
+  (precedes ((2 1) (7 1)) ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (5 0))
+    ((3 1) (2 3)) ((4 0) (2 0)) ((5 3) (1 0)) ((6 3) (5 2))
+    ((7 3) (6 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpm)
+  
+  (leads-to ((6 3) (5 2)) ((7 3) (6 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr (cat pt-0 (hash "0" n))) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpm (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((send tpm (cat "token" nonce)))
+    ((recv tpm-0 (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-1 (cat "token" nonce-0))
+      (recv tpm-1
+        (cat "extend" pcr-id-1 "obtain"
+          (hash pcr-id-1 "obtain" nonce-0)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-1)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 48)
+  (parent 46)
+  (unrealized (0 0) (7 1))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (0 0)) ((2 4) (4 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpmconf)
+  
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation channel-test (displaced 7 2 alice 2)
+    (ch-msg tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+    (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 49)
+  (parent 47)
+  (unrealized (0 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pval) (tpmconf tpm tpm-0 tpm-1 chan)
+    (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-1) (pcr pcr-0))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (4 0)) ((2 4) (7 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)) ((7 2) (0 0)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)))
+  
+  (operation encryption-test (added-strand tpm-quote 3)
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik)
+    (0 0))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-1 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))))
+  (label 50)
+  (parent 49)
+  (unrealized (7 1))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 pcr-id-2 nonce-1 text)
+    (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pval)
+    (tpmconf tpm tpm-0 tpm-1 tpm-2 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-1) (pcr pcr-0))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (nonce nonce-1)
+    (tpm tpm-2) (pcr pcr-0))
+  (precedes ((2 1) (6 1)) ((2 2) (3 0)) ((2 4) (4 0)) ((2 4) (7 0))
+    ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2)) ((6 0) (2 0))
+    ((6 3) (5 2)) ((7 2) (0 0)) ((8 3) (7 1)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)) ((8 3) (7 1)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))) (7 1))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-1 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2
+        (cat "extend" pcr-id-2 "refuse"
+          (hash pcr-id-2 "refuse" nonce-1)))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))))
+  (label 51)
+  (parent 50)
+  (unrealized (8 2))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton envelope
+  (vars (n v data)
+    (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 pcr-id-2 nonce-1 pcr-id-3
+      nonce-2 text) (k aik akey) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
+    (tpmconf tpm tpm-0 tpm-1 tpm-2 tpm-3 chan) (pcr pcr-0 locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id-0) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm-1) (pcr pcr-0))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-2) (nonce nonce-1)
+    (tpm tpm-2) (pcr pcr-0))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-3) (nonce nonce-2) (tpm tpm-3) (pcr pcr-0))
+  (precedes ((2 1) (6 1)) ((2 1) (9 1)) ((2 2) (3 0)) ((2 4) (4 0))
+    ((2 4) (7 0)) ((3 1) (2 3)) ((4 3) (1 0)) ((5 3) (4 2))
+    ((6 0) (2 0)) ((6 3) (5 2)) ((7 2) (0 0)) ((8 3) (7 1))
+    ((9 3) (8 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 nonce-1 nonce-2 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain")
+    (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  
+  (leads-to ((5 3) (4 2)) ((6 3) (5 2)) ((8 3) (7 1)) ((9 3) (8 2)))
+  
+  (operation channel-test (added-strand tpm-extend-enc 4)
+    (ch-msg pcr-0 (cat pt-3 (hash "0" n))) (8 2))
+  (strand-map 0 1 2 3 4 5 6 7 8)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "obtain" (hash pcr-id-1 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n))))
+    ((recv tpm-1 (cat "quote" pcr-id (enc v k)))
+      (load pcr-0 (cat pt-2 (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-2 (cat "token" nonce-1))
+      (recv tpm-2
+        (cat "extend" pcr-id-2 "refuse"
+          (hash pcr-id-2 "refuse" nonce-1)))
+      (load pcr-0 (cat pt-3 (hash "0" n)))
+      (stor pcr-0 (cat pt-2 (hash (hash "0" n) "refuse"))))
+    ((send tpm-3 (cat "token" nonce-2))
+      (recv tpm-3 (cat "extend" pcr-id-3 n (hash pcr-id-3 n nonce-2)))
+      (load pcr-0 (cat pt-4 "0")) (stor pcr-0 (cat pt-3 (hash "0" n)))))
+  (label 52)
+  (parent 51)
+  (unrealized (9 1))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/defact-sync_locn_envelope_shapes.tst b/tst/defact-sync_locn_envelope_shapes.tst
new file mode 100644
--- /dev/null
+++ b/tst/defact-sync_locn_envelope_shapes.tst
@@ -0,0 +1,731 @@
+(comment "CPSA 4.4.5")
+(comment "Extracted shapes")
+
+(herald "Envelope Protocol, location-based version" (check-nonces)
+  (bound 30) (limit 6000))
+
+(comment "CPSA 4.4.5")
+
+(comment "All input read from tst/sync_locn_envelope.scm")
+
+(comment "Step count limited to 6000")
+
+(comment "Strand count bounded at 30")
+
+(comment "Nonces checked first")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id nonce text) (k aik akey) (tpm tpmconf chan))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig v n)
+  (conf tpmconf)
+  (traces ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 0)
+  (unrealized (0 0) (1 3))
+  (preskeleton)
+  (origs (v (1 4)) (n (1 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (v n data) (pcr-id pcr-id-0 nonce nonce-0 text) (k aik akey)
+    (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 chan) (pcr locn))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-decrypt 4 (m v)
+    (current-value (hash (hash "0" n) "obtain")) (pcr-id pcr-id) (k k)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "obtain")
+    (current-value (hash "0" n)) (pcr-id pcr-id-0) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (precedes ((1 1) (5 1)) ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3))
+    ((3 3) (0 0)) ((4 3) (3 2)) ((5 0) (1 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig v n nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "obtain"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((4 3) (3 2)) ((5 3) (4 2)))
+  (operation channel-test (displaced 6 1 alice 2)
+    (ch-msg tpm-1 (cat "extend" pcr-id-1 n (hash pcr-id-1 n nonce-0)))
+    (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces ((recv v) (send v))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (send (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "decrypt" (enc v k)))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (load pcr (cat pt (hash (hash "0" n) "obtain"))) (send v))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-0 "obtain" (hash pcr-id-0 "obtain" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "obtain"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 11)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce-0) (k k) (aik aik)
+        (tpm tpmconf) (tpmconf tpmconf))))
+  (origs (n (1 1)) (nonce-0 (5 0)) (pt-0 (5 3)) (nonce (4 0)) (pt (4 3))
+    (k (2 1)) (v (1 4))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 12)
+  (unrealized (0 0) (1 3))
+  (preskeleton)
+  (origs (v (1 4)) (n (1 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 pcr-id-1 nonce nonce-0 text)
+    (k aik akey) (pt pt-0 pt-1 pval) (tpmconf tpm tpm-0 chan)
+    (pcr locn))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce-0) (k k)
+    (aik aik) (tpm tpmconf) (tpmconf tpmconf))
+  (defstrand tpm-create-key 2 (pcrval (hash (hash "0" n) "obtain"))
+    (pcr-id pcr-id-0) (k k) (aik aik) (tpm tpmconf))
+  (defstrand tpm-quote 3 (nonce (enc v k))
+    (current-value (hash (hash "0" n) "refuse")) (pcr-id pcr-id)
+    (aik aik) (tpm tpm) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value "refuse")
+    (current-value (hash "0" n)) (pcr-id pcr-id-1) (nonce nonce)
+    (tpm tpm-0) (pcr pcr))
+  (defstrand tpm-extend-enc 4 (value n) (current-value "0")
+    (pcr-id pcr-id-0) (nonce nonce-0) (tpm tpmconf) (pcr pcr))
+  (precedes ((1 1) (5 1)) ((1 2) (2 0)) ((1 4) (3 0)) ((2 1) (1 3))
+    ((3 2) (0 0)) ((4 3) (3 1)) ((5 0) (1 0)) ((5 3) (4 2)))
+  (non-orig aik (invk k))
+  (uniq-orig n v nonce nonce-0 k)
+  (gen-st (hash "0" n) (hash (hash "0" n) "refuse"))
+  (conf tpmconf)
+  (auth tpmconf)
+  (leads-to ((4 3) (3 1)) ((5 3) (4 2)))
+  (operation channel-test (displaced 6 1 alice 2)
+    (ch-msg tpm-1 (cat "extend" pcr-id-2 n (hash pcr-id-2 n nonce-0)))
+    (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((recv tpmconf (cat "token" nonce-0))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (send tpmconf
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    ((recv tpmconf
+       (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (send
+        (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik)))
+    ((recv tpm (cat "quote" pcr-id (enc v k)))
+      (load pcr (cat pt (hash (hash "0" n) "refuse")))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik)))
+    ((send tpm-0 (cat "token" nonce))
+      (recv tpm-0
+        (cat "extend" pcr-id-1 "refuse" (hash pcr-id-1 "refuse" nonce)))
+      (load pcr (cat pt-0 (hash "0" n)))
+      (stor pcr (cat pt (hash (hash "0" n) "refuse"))))
+    ((send tpmconf (cat "token" nonce-0))
+      (recv tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce-0)))
+      (load pcr (cat pt-1 "0")) (stor pcr (cat pt-0 (hash "0" n)))))
+  (label 22)
+  (parent 12)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
+  (origs (n (1 1)) (nonce-0 (5 0)) (pt-0 (5 3)) (nonce (4 0)) (pt (4 3))
+    (k (2 1)) (v (1 4))))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 23)
+  (unrealized (0 0) (1 0) (2 3))
+  (preskeleton)
+  (origs (v (2 4)) (n (2 1)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
+
+(defprotocol envelope basic
+  (defrole tpm-power-on
+    (vars (current-value mesg) (pcr locn) (tpm chan))
+    (trace (recv tpm "power on") (load pcr current-value)
+      (stor pcr "0")))
+  (defrole tpm-extend-enc
+    (vars (value current-value mesg) (pcr-id nonce text) (pcr locn)
+      (tpm chan))
+    (trace (send tpm (cat "token" nonce))
+      (recv tpm (cat "extend" pcr-id value (hash pcr-id value nonce)))
+      (load pcr current-value) (stor pcr (hash current-value value))
+      (send "ext ok"))
+    (uniq-orig nonce))
+  (defrole tpm-quote
+    (vars (nonce current-value mesg) (pcr-id text) (aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "quote" pcr-id nonce))
+      (load pcr current-value)
+      (send (enc "quote" pcr-id current-value nonce aik))))
+  (defrole tpm-create-key
+    (vars (k aik akey) (pcr-id text) (pcrval mesg) (tpm chan))
+    (trace (recv tpm (cat "create-req" pcr-id pcrval))
+      (send (enc "created" k pcr-id pcrval aik)))
+    (non-orig (invk k))
+    (uniq-orig k)
+    (auth tpm))
+  (defrole tpm-decrypt
+    (vars (m current-value mesg) (pcr-id text) (k aik akey) (pcr locn)
+      (tpm chan))
+    (trace (recv tpm (cat "decrypt" (enc m k)))
+      (recv (enc "created" k pcr-id current-value aik))
+      (load pcr current-value) (send m))
+    (non-orig aik))
+  (defrole alice
+    (vars (n v data) (pcr-id nonce text) (k aik akey)
+      (tpm tpmconf chan))
+    (trace (recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id n (hash pcr-id n nonce)))
+      (send tpm (cat "create-req" pcr-id (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id (hash (hash "0" n) "obtain") aik))
+      (send (enc v k)))
+    (non-orig aik)
+    (uniq-orig n v)
+    (conf tpmconf)
+    (neq (k aik)))
+  (defrule genStV-if-hashed-tpm-power-on
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-power-on" z (idx 2))
+          (p "tpm-power-on" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-extend-enc
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-decrypt
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-decrypt" z (idx 3))
+          (p "tpm-decrypt" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defrule genStV-if-hashed-tpm-quote
+    (forall ((z strd) (v1 v2 mesg))
+      (implies
+        (and (p "tpm-quote" z (idx 2))
+          (p "tpm-quote" "current-value" z (hash v1 v2)))
+        (gen-st (hash v1 v2)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule scissorsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
+        (and (= z1 z2) (= i1 i2)))))
+  (defgenrule cakeRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
+          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
+  (defgenrule no-interruption
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
+          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
+        (false))))
+  (defgenrule shearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
+          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
+          (prec z0 i0 z2 i2))
+        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
+  (defgenrule invShearsRule
+    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
+      (implies
+        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
+          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
+        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
+  (defgenrule trRl_tpm-power-on-at-2
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 2)))))
+  (defgenrule trRl_tpm-power-on-at-1
+    (forall ((z strd))
+      (implies (p "tpm-power-on" z (idx 3)) (trans z (idx 1)))))
+  (defgenrule trRl_tpm-extend-enc-at-3
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 3)))))
+  (defgenrule trRl_tpm-extend-enc-at-2
+    (forall ((z strd))
+      (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2))))))
+
+(defskeleton envelope
+  (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)
+    (tpm tpmconf chan))
+  (deflistener
+    (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+  (deflistener v)
+  (defstrand alice 5 (n n) (v v) (pcr-id pcr-id-0) (nonce nonce) (k k)
+    (aik aik) (tpm tpm) (tpmconf tpmconf))
+  (non-orig aik)
+  (uniq-orig n v)
+  (conf tpmconf)
+  (traces
+    ((recv
+       (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik))
+      (send
+        (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k)
+          aik))) ((recv v) (send v))
+    ((recv tpm (cat "token" nonce))
+      (send tpmconf (cat "extend" pcr-id-0 n (hash pcr-id-0 n nonce)))
+      (send tpm
+        (cat "create-req" pcr-id-0 (hash (hash "0" n) "obtain")))
+      (recv (enc "created" k pcr-id-0 (hash (hash "0" n) "obtain") aik))
+      (send (enc v k))))
+  (label 38)
+  (unrealized (0 0) (1 0) (2 3))
+  (preskeleton)
+  (origs (v (2 4)) (n (2 1)))
+  (comment "Not a skeleton"))
+
+(comment "Nothing left to do")
diff --git a/tst/denning-sacco.tst b/tst/denning-sacco.tst
--- a/tst/denning-sacco.tst
+++ b/tst/denning-sacco.tst
@@ -1,6 +1,6 @@
 (herald "Denning-Sacco Protocol")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/denning-sacco.scm")
 
 (defprotocol denning-sacco basic
@@ -41,6 +41,7 @@
          (enc a (pubk a) (privk ks)) (pubk b)))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (ks ks) (k k) (ta ta))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -68,6 +69,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (ks ks) (k k) (ta ta))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton denning-sacco
@@ -95,6 +97,7 @@
   (label 2)
   (parent 1)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (ks ks) (k k) (ta ta))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton denning-sacco
@@ -125,6 +128,7 @@
   (label 3)
   (parent 2)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (ks ks) (k k) (ta ta))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton denning-sacco
@@ -155,6 +159,7 @@
   (label 4)
   (parent 2)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (ks ks) (k k) (ta ta))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton denning-sacco
diff --git a/tst/deorig_contract.tst b/tst/deorig_contract.tst
--- a/tst/deorig_contract.tst
+++ b/tst/deorig_contract.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/deorig_contract.scm")
 
 (defprotocol deorig-contract basic
@@ -25,6 +25,7 @@
   (traces ((send (enc x1 k)) (send (enc x2 k)) (recv (enc x1 x2 k))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((k k) (x1 x1) (x2 x2))))
   (origs (x2 (0 1)) (x1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -43,6 +44,7 @@
   (parent 0)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((k k) (x1 x1) (x2 x2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/deorig_mesg.tst b/tst/deorig_mesg.tst
--- a/tst/deorig_mesg.tst
+++ b/tst/deorig_mesg.tst
@@ -1,6 +1,6 @@
 (herald deorig-mesg)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/deorig_mesg.scm")
 
 (defprotocol deorig-mesg basic
@@ -26,6 +26,7 @@
   (label 0)
   (unrealized (0 1))
   (dead)
+  (maps ((0) ((k k) (x x))))
   (origs (x (0 0)))
   (comment "empty cohort"))
 
diff --git a/tst/deorig_simple.tst b/tst/deorig_simple.tst
--- a/tst/deorig_simple.tst
+++ b/tst/deorig_simple.tst
@@ -1,6 +1,6 @@
 (herald deorig-simple)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/deorig_simple.scm")
 
 (defprotocol deorig-simple basic
@@ -28,6 +28,7 @@
   (label 0)
   (unrealized (0 1))
   (dead)
+  (maps ((0) ((k k) (x x))))
   (origs (x (0 0)))
   (comment "empty cohort"))
 
diff --git a/tst/dh-ca_hack.tst b/tst/dh-ca_hack.tst
--- a/tst/dh-ca_hack.tst
+++ b/tst/dh-ca_hack.tst
@@ -1,6 +1,6 @@
 (herald dhca (algebra basic) (bound 12))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dh-ca_hack.scm")
 
 (defprotocol dhca basic
@@ -49,6 +49,7 @@
       (send (enc "check" n (enc "dh" gx h dhkey)))))
   (label 0)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -59,6 +60,8 @@
   (defstrand ca 1 (gz gx) (subject a) (ca ca))
   (precedes ((1 0) (0 0)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1) (enc gx a (privk ca))
     (0 0))
   (strand-map 0)
@@ -70,6 +73,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 2))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -79,6 +83,8 @@
   (defstrand ca 1 (gz gx) (subject a) (ca ca))
   (precedes ((1 0) (0 0)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 2 1 ca 1) (enc h b (privk ca))
     (0 2))
   (strand-map 0 1)
@@ -91,6 +97,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 2))
+  (maps ((0) ((gx gx) (h gx) (dhkey dhkey) (a a) (b a) (ca ca) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -101,6 +108,8 @@
   (defstrand ca 1 (gz h) (subject b) (ca ca))
   (precedes ((1 0) (0 0)) ((2 0) (0 2)))
   (non-orig dhkey (invk gx) (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1) (enc h b (privk ca))
     (0 2))
   (strand-map 0 1)
@@ -112,6 +121,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 2))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -123,6 +133,8 @@
     (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 2) (0 2)))
   (non-orig dhkey (invk gx) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand resp 3)
     (enc n (enc "dh" gx gx dhkey)) (0 2))
   (strand-map 0 1)
@@ -140,6 +152,7 @@
   (label 4)
   (parent 2)
   (unrealized (2 0) (2 1))
+  (maps ((0) ((gx gx) (h gx) (dhkey dhkey) (a a) (b a) (ca ca) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -150,6 +163,8 @@
   (deflistener (enc "dh" gx gx dhkey))
   (precedes ((1 0) (0 0)) ((2 1) (0 2)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-listener (enc "dh" gx gx dhkey))
     (enc n (enc "dh" gx gx dhkey)) (0 2))
   (strand-map 0 1)
@@ -164,6 +179,7 @@
   (parent 2)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((gx gx) (h gx) (dhkey dhkey) (a a) (b a) (ca ca) (n n))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -176,6 +192,8 @@
     (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 0) (0 2)) ((3 2) (0 2)))
   (non-orig dhkey (invk gx) (invk h) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand resp 3)
     (enc n (enc "dh" gx h dhkey)) (0 2))
   (strand-map 0 1 2)
@@ -192,6 +210,7 @@
   (label 6)
   (parent 3)
   (unrealized (3 0) (3 1))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -203,6 +222,8 @@
   (deflistener (enc "dh" gx h dhkey))
   (precedes ((1 0) (0 0)) ((2 0) (0 2)) ((3 1) (0 2)))
   (non-orig dhkey (invk gx) (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-listener (enc "dh" gx h dhkey))
     (enc n (enc "dh" gx h dhkey)) (0 2))
   (strand-map 0 1 2)
@@ -216,6 +237,7 @@
   (parent 3)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -227,6 +249,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 3 1 ca 1)
     (enc gx b (privk ca-0)) (2 0))
   (strand-map 0 1 2)
@@ -243,6 +267,7 @@
   (label 8)
   (parent 4)
   (unrealized (2 1))
+  (maps ((0) ((gx gx) (h gx) (dhkey dhkey) (a a) (b a) (ca ca) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -255,6 +280,8 @@
   (defstrand ca 1 (gz gx) (subject b) (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 2) (0 2)) ((3 0) (2 0)))
   (non-orig dhkey (invk gx) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1) (enc gx b (privk ca-0))
     (2 0))
   (strand-map 0 1 2)
@@ -273,6 +300,7 @@
   (label 9)
   (parent 4)
   (unrealized (2 1))
+  (maps ((0) ((gx gx) (h gx) (dhkey dhkey) (a a) (b a) (ca ca) (n n))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -285,6 +313,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 2)) ((3 2) (0 2)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc h b-0 (privk ca-0)) (3 0))
   (strand-map 0 1 2 3)
@@ -301,6 +331,7 @@
   (label 10)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((gx gx) (h gx) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -313,6 +344,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((2 0) (3 0)) ((3 2) (0 2)))
   (non-orig dhkey (invk gx) (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 2 ca 1)
     (enc h b-0 (privk ca-0)) (3 0))
   (strand-map 0 1 2 3)
@@ -327,6 +360,7 @@
   (label 11)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -340,6 +374,8 @@
   (defstrand ca 1 (gz h) (subject b-0) (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 0) (0 2)) ((3 2) (0 2)) ((4 0) (3 0)))
   (non-orig dhkey (invk gx) (invk h) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1)
     (enc h b-0 (privk ca-0)) (3 0))
   (strand-map 0 1 2 3)
@@ -356,6 +392,7 @@
   (label 12)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (a a) (b b) (ca ca) (n n))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -367,6 +404,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 3 1 ca 1)
     (enc gx a-0 (privk ca)) (2 1))
   (strand-map 0 1 2)
@@ -396,6 +435,8 @@
   (defstrand ca 1 (gz gx) (subject a-0) (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2)) ((3 0) (2 1)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1) (enc gx a-0 (privk ca))
     (2 1))
   (strand-map 0 1 2)
@@ -427,6 +468,8 @@
   (defstrand ca 1 (gz gx) (subject b) (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (2 1)) ((2 2) (0 2)) ((3 0) (2 0)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc gx a-0 (privk ca-0)) (2 1))
   (strand-map 0 1 2 3)
@@ -457,6 +500,8 @@
   (defstrand ca 1 (gz gx) (subject b) (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 2) (0 2)) ((3 0) (2 0)))
   (non-orig dhkey (invk gx) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 3 ca 1)
     (enc gx a-0 (privk ca-0)) (2 1))
   (strand-map 0 1 2 3)
@@ -490,6 +535,8 @@
   (defstrand ca 1 (gz gx) (subject a-0) (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 2) (0 2)) ((3 0) (2 0)) ((4 0) (2 1)))
   (non-orig dhkey (invk gx) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1)
     (enc gx a-0 (privk ca-0)) (2 1))
   (strand-map 0 1 2 3)
@@ -522,6 +569,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 2)) ((3 2) (0 2)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc gx a-0 (privk ca)) (3 1))
   (strand-map 0 1 2 3)
@@ -551,6 +600,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (3 1)) ((3 2) (0 2)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 2 ca 1)
     (enc gx a-0 (privk ca)) (3 1))
   (strand-map 0 1 2 3)
@@ -582,6 +633,8 @@
   (precedes ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 2)) ((3 2) (0 2))
     ((4 0) (3 1)))
   (non-orig dhkey (invk gx) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1) (enc gx a-0 (privk ca))
     (3 1))
   (strand-map 0 1 2 3)
@@ -613,6 +666,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((1 0) (3 1)) ((2 0) (3 0)) ((3 2) (0 2)))
   (non-orig dhkey (invk gx) (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc gx a-0 (privk ca)) (3 1))
   (strand-map 0 1 2 3)
@@ -641,6 +696,8 @@
     (ca ca))
   (precedes ((1 0) (0 0)) ((2 0) (3 0)) ((3 2) (0 2)))
   (non-orig dhkey (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 4 2 ca 1)
     (enc gx a-0 (privk ca)) (3 1))
   (strand-map 0 1 2 3)
@@ -669,6 +726,8 @@
   (defstrand ca 1 (gz gx) (subject a-0) (ca ca))
   (precedes ((1 0) (0 0)) ((2 0) (3 0)) ((3 2) (0 2)) ((4 0) (3 1)))
   (non-orig dhkey (invk gx) (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1) (enc gx a-0 (privk ca))
     (3 1))
   (strand-map 0 1 2 3)
@@ -698,6 +757,8 @@
   (defstrand ca 1 (gz h) (subject b-0) (ca ca))
   (precedes ((1 0) (0 0)) ((2 0) (3 1)) ((3 2) (0 2)) ((4 0) (3 0)))
   (non-orig dhkey (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 5 2 ca 1)
     (enc gx a-0 (privk ca-0)) (3 1))
   (strand-map 0 1 2 3 4)
@@ -729,6 +790,8 @@
   (precedes ((1 0) (0 0)) ((1 0) (3 1)) ((2 0) (0 2)) ((3 2) (0 2))
     ((4 0) (3 0)))
   (non-orig dhkey (invk gx) (invk h) (privk ca))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 5 1 ca 1)
     (enc gx a-0 (privk ca-0)) (3 1))
   (strand-map 0 1 2 3 4)
@@ -759,6 +822,8 @@
   (defstrand ca 1 (gz h) (subject b-0) (ca ca-0))
   (precedes ((1 0) (0 0)) ((2 0) (0 2)) ((3 2) (0 2)) ((4 0) (3 0)))
   (non-orig dhkey (invk h) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (displaced 5 4 ca 1)
     (enc gx a-0 (privk ca-0)) (3 1))
   (strand-map 0 1 2 3 4)
@@ -792,6 +857,8 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 2)) ((3 2) (0 2)) ((4 0) (3 0))
     ((5 0) (3 1)))
   (non-orig dhkey (invk gx) (invk h) (privk ca) (privk ca-0))
+  (comment
+    "Full initiator point-of-view.  No need to make extra assumptions.")
   (operation encryption-test (added-strand ca 1)
     (enc gx a-0 (privk ca-0)) (3 1))
   (strand-map 0 1 2 3 4)
@@ -862,6 +929,7 @@
       (recv (enc "check" n (enc "dh" h gy dhkey)))))
   (label 28)
   (unrealized (0 0) (0 1) (0 3))
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (origs (n (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -873,6 +941,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc gy b (privk ca))
     (0 0))
   (strand-map 0)
@@ -885,6 +954,7 @@
   (label 29)
   (parent 28)
   (unrealized (0 1) (0 3))
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -895,6 +965,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 2 1 ca 1) (enc h a (privk ca))
     (0 1))
   (strand-map 0 1)
@@ -907,6 +978,7 @@
   (label 30)
   (parent 29)
   (unrealized (0 3))
+  (maps ((0) ((n n) (gy gy) (h gy) (dhkey dhkey) (a b) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -918,6 +990,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 1)))
   (non-orig dhkey (invk gy) (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc h a (privk ca))
     (0 1))
   (strand-map 0 1)
@@ -930,6 +1003,7 @@
   (label 31)
   (parent 29)
   (unrealized (0 3))
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -942,6 +1016,7 @@
   (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 3) (0 3)))
   (non-orig dhkey (invk gy) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand init 4)
     (enc "check" n (enc "dh" gy gy dhkey)) (0 3))
   (strand-map 0 1)
@@ -960,6 +1035,7 @@
   (label 32)
   (parent 30)
   (unrealized (2 0) (2 2))
+  (maps ((0) ((n n) (gy gy) (h gy) (dhkey dhkey) (a b) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -971,6 +1047,7 @@
   (precedes ((1 0) (0 0)) ((2 1) (0 3)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-listener (enc "dh" gy gy dhkey))
     (enc "check" n (enc "dh" gy gy dhkey)) (0 3))
   (strand-map 0 1)
@@ -985,6 +1062,7 @@
   (parent 30)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((n n) (gy gy) (h gy) (dhkey dhkey) (a b) (b b) (ca ca))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -998,6 +1076,7 @@
   (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((2 0) (0 1)) ((3 3) (0 3)))
   (non-orig dhkey (invk gy) (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand init 4)
     (enc "check" n (enc "dh" h gy dhkey)) (0 3))
   (strand-map 0 1 2)
@@ -1016,6 +1095,7 @@
   (label 34)
   (parent 31)
   (unrealized (3 0) (3 2))
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -1028,6 +1108,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 1)) ((3 1) (0 3)))
   (non-orig dhkey (invk gy) (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-listener (enc "dh" h gy dhkey))
     (enc "check" n (enc "dh" h gy dhkey)) (0 3))
   (strand-map 0 1 2)
@@ -1042,6 +1123,7 @@
   (parent 31)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -1054,6 +1136,7 @@
   (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 3) (0 3)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 3 1 ca 1)
     (enc gy a (privk ca-0)) (2 0))
   (strand-map 0 1 2)
@@ -1070,6 +1153,7 @@
   (label 36)
   (parent 32)
   (unrealized (2 2))
+  (maps ((0) ((n n) (gy gy) (h gy) (dhkey dhkey) (a b) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -1083,6 +1167,7 @@
   (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 3) (0 3)) ((3 0) (2 0)))
   (non-orig dhkey (invk gy) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc gy a (privk ca-0))
     (2 0))
   (strand-map 0 1 2)
@@ -1102,6 +1187,7 @@
   (label 37)
   (parent 32)
   (unrealized (2 2))
+  (maps ((0) ((n n) (gy gy) (h gy) (dhkey dhkey) (a b) (b b) (ca ca))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -1116,6 +1202,7 @@
     ((3 3) (0 3)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc h a-0 (privk ca-0)) (3 0))
   (strand-map 0 1 2 3)
@@ -1132,6 +1219,7 @@
   (label 38)
   (parent 34)
   (unrealized (3 2))
+  (maps ((0) ((n n) (gy gy) (h gy) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -1146,6 +1234,7 @@
     ((3 3) (0 3)))
   (non-orig dhkey (invk gy) (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 2 ca 1)
     (enc h a-0 (privk ca-0)) (3 0))
   (strand-map 0 1 2 3)
@@ -1162,6 +1251,7 @@
   (label 39)
   (parent 34)
   (unrealized (3 2))
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -1177,6 +1267,7 @@
     ((4 0) (3 0)))
   (non-orig dhkey (invk gy) (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1)
     (enc h a-0 (privk ca-0)) (3 0))
   (strand-map 0 1 2 3)
@@ -1196,6 +1287,7 @@
   (label 40)
   (parent 34)
   (unrealized (3 2))
+  (maps ((0) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -1208,6 +1300,7 @@
   (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 3) (0 3)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 3 1 ca 1)
     (enc gy b-0 (privk ca)) (2 2))
   (strand-map 0 1 2)
@@ -1240,6 +1333,7 @@
     ((3 0) (2 2)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc gy b-0 (privk ca))
     (2 2))
   (strand-map 0 1 2)
@@ -1272,6 +1366,7 @@
   (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 3) (0 3)) ((3 0) (2 0)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc gy b-0 (privk ca-0)) (2 2))
   (strand-map 0 1 2 3)
@@ -1304,6 +1399,7 @@
   (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 3) (0 3)) ((3 0) (2 0)))
   (non-orig dhkey (invk gy) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 3 ca 1)
     (enc gy b-0 (privk ca-0)) (2 2))
   (strand-map 0 1 2 3)
@@ -1339,6 +1435,7 @@
     ((4 0) (2 2)))
   (non-orig dhkey (invk gy) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1)
     (enc gy b-0 (privk ca-0)) (2 2))
   (strand-map 0 1 2 3)
@@ -1374,6 +1471,7 @@
     ((3 3) (0 3)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc gy b-0 (privk ca)) (3 2))
   (strand-map 0 1 2 3)
@@ -1406,6 +1504,7 @@
     ((3 3) (0 3)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 2 ca 1)
     (enc gy b-0 (privk ca)) (3 2))
   (strand-map 0 1 2 3)
@@ -1439,6 +1538,7 @@
     ((3 3) (0 3)) ((4 0) (3 2)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc gy b-0 (privk ca))
     (3 2))
   (strand-map 0 1 2 3)
@@ -1472,6 +1572,7 @@
     ((3 3) (0 3)))
   (non-orig dhkey (invk gy) (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 1 ca 1)
     (enc gy b-0 (privk ca)) (3 2))
   (strand-map 0 1 2 3)
@@ -1504,6 +1605,7 @@
     ((3 3) (0 3)))
   (non-orig dhkey (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 2 ca 1)
     (enc gy b-0 (privk ca)) (3 2))
   (strand-map 0 1 2 3)
@@ -1535,6 +1637,7 @@
     ((3 3) (0 3)) ((4 0) (3 2)))
   (non-orig dhkey (invk gy) (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc gy b-0 (privk ca))
     (3 2))
   (strand-map 0 1 2 3)
@@ -1569,6 +1672,7 @@
     ((4 0) (3 0)))
   (non-orig dhkey (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 5 2 ca 1)
     (enc gy b-0 (privk ca-0)) (3 2))
   (strand-map 0 1 2 3 4)
@@ -1601,6 +1705,7 @@
     ((4 0) (3 0)))
   (non-orig dhkey (invk gy) (invk h) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 5 1 ca 1)
     (enc gy b-0 (privk ca-0)) (3 2))
   (strand-map 0 1 2 3 4)
@@ -1635,6 +1740,7 @@
     ((4 0) (3 0)))
   (non-orig dhkey (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 5 4 ca 1)
     (enc gy b-0 (privk ca-0)) (3 2))
   (strand-map 0 1 2 3 4)
@@ -1670,6 +1776,7 @@
     ((4 0) (3 0)) ((5 0) (3 2)))
   (non-orig dhkey (invk gy) (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1)
     (enc gy b-0 (privk ca-0)) (3 2))
   (strand-map 0 1 2 3 4)
@@ -1745,6 +1852,7 @@
   (label 56)
   (unrealized (0 0) (0 1) (0 3) (1 0))
   (preskeleton)
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (origs (n (0 2)))
   (comment "Not a skeleton"))
 
@@ -1756,6 +1864,7 @@
   (precedes ((0 2) (1 0)))
   (non-orig dhkey (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (traces
     ((recv (enc gy b (privk ca))) (recv (cat h (enc h a (privk ca))))
       (send
@@ -1764,6 +1873,7 @@
   (label 57)
   (parent 56)
   (unrealized (0 0) (0 1) (0 3) (1 0))
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (origs (n (0 2)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -1777,6 +1887,7 @@
   (precedes ((0 2) (2 2)) ((2 3) (1 0)))
   (non-orig dhkey (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation nonce-test (added-strand init 4) n (1 0)
     (enc n (enc "dh" h gy dhkey)))
   (strand-map 0 1)
@@ -1794,6 +1905,7 @@
   (label 58)
   (parent 57)
   (unrealized (0 0) (0 1) (0 3) (1 0) (2 0) (2 2))
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -1805,6 +1917,7 @@
   (precedes ((0 2) (1 0)) ((2 1) (1 0)))
   (non-orig dhkey (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation nonce-test (added-listener (enc "dh" h gy dhkey)) n (1 0)
     (enc n (enc "dh" h gy dhkey)))
   (strand-map 0 1)
@@ -1817,6 +1930,7 @@
   (label 59)
   (parent 57)
   (unrealized (0 0) (0 1) (0 3) (2 0))
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -1830,6 +1944,7 @@
   (precedes ((0 2) (2 2)) ((2 3) (1 0)) ((3 0) (2 0)))
   (non-orig dhkey (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1)
     (enc h a-0 (privk ca-0)) (2 0))
   (strand-map 0 1 2)
@@ -1848,6 +1963,7 @@
   (label 60)
   (parent 58)
   (unrealized (0 0) (0 1) (0 3) (1 0) (2 2))
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -1860,6 +1976,7 @@
   (precedes ((0 2) (1 0)) ((2 1) (1 0)) ((3 1) (2 0)))
   (non-orig dhkey (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand CDHcalc1 2)
     (enc "dh" h gy dhkey) (2 0))
   (strand-map 0 1 2)
@@ -1874,6 +1991,7 @@
   (parent 59)
   (unrealized (0 0) (0 1) (0 3))
   (dead)
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -1886,6 +2004,7 @@
   (precedes ((0 2) (1 0)) ((2 1) (1 0)) ((3 1) (2 0)))
   (non-orig dhkey (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand CDHcalc2 2)
     (enc "dh" h gy dhkey) (2 0))
   (strand-map 0 1 2)
@@ -1899,6 +2018,7 @@
   (label 62)
   (parent 59)
   (unrealized (0 0) (0 1) (0 3))
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -1912,6 +2032,7 @@
   (precedes ((0 2) (2 2)) ((2 3) (1 0)) ((3 0) (2 0)))
   (non-orig dhkey (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (displaced 4 3 ca 1)
     (enc gy b-0 (privk ca-0)) (2 2))
   (strand-map 0 1 2 3)
@@ -1928,6 +2049,7 @@
   (label 63)
   (parent 60)
   (unrealized (0 0) (0 1) (0 3) (1 0))
+  (maps ((0 1) ((n n) (gy h) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -1942,6 +2064,7 @@
   (precedes ((0 2) (2 2)) ((2 3) (1 0)) ((3 0) (2 0)) ((4 0) (2 2)))
   (non-orig dhkey (invk gy) (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1)
     (enc gy b-0 (privk ca-0)) (2 2))
   (strand-map 0 1 2 3)
@@ -1961,6 +2084,7 @@
   (label 64)
   (parent 60)
   (unrealized (0 0) (0 1) (0 3) (1 0))
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -1974,6 +2098,7 @@
   (precedes ((0 2) (1 0)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (0 0)))
   (non-orig dhkey (invk gy) (privk ca))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation encryption-test (added-strand ca 1) (enc gy b (privk ca))
     (0 0))
   (strand-map 0 1 2 3)
@@ -1989,6 +2114,7 @@
   (parent 62)
   (unrealized (0 1) (0 3))
   (dead)
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -2003,6 +2129,7 @@
   (precedes ((0 2) (2 2)) ((2 3) (1 0)) ((3 0) (2 0)) ((4 1) (1 0)))
   (non-orig dhkey (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation nonce-test (added-listener (enc "dh" h h dhkey)) n (1 0)
     (enc n (enc "dh" h h dhkey)) (enc "check" n (enc "dh" h h dhkey)))
   (strand-map 0 1 2 3)
@@ -2021,6 +2148,7 @@
   (parent 63)
   (unrealized (0 0) (0 1) (0 3) (4 0))
   (dead)
+  (maps ((0 1) ((n n) (gy h) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -2037,6 +2165,7 @@
     ((5 1) (1 0)))
   (non-orig dhkey (invk gy) (invk h) (privk ca) (privk ca-0))
   (uniq-orig n)
+  (comment "Full responder point of view with freshly chosen n")
   (operation nonce-test (added-listener (enc "dh" h gy dhkey)) n (1 0)
     (enc n (enc "dh" h gy dhkey)) (enc "check" n (enc "dh" h gy dhkey)))
   (strand-map 0 1 2 3 4)
@@ -2057,6 +2186,7 @@
   (parent 64)
   (unrealized (0 0) (0 1) (0 3) (5 0))
   (dead)
+  (maps ((0 1) ((n n) (gy gy) (h h) (dhkey dhkey) (a a) (b b) (ca ca))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -2114,6 +2244,8 @@
   (label 68)
   (unrealized (0 0) (0 2) (1 0) (1 1) (1 3))
   (preskeleton)
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (origs (n (1 2)))
   (comment "Not a skeleton"))
 
@@ -2138,6 +2270,8 @@
   (label 69)
   (parent 68)
   (unrealized (0 0) (1 0) (1 1) (1 3))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (origs (n (1 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2167,6 +2301,8 @@
   (label 70)
   (parent 69)
   (unrealized (0 0) (1 1) (1 3))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -2195,6 +2331,8 @@
   (label 71)
   (parent 70)
   (unrealized (0 0) (1 3))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2224,6 +2362,8 @@
   (label 72)
   (parent 70)
   (unrealized (0 0) (1 3))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2252,6 +2392,8 @@
   (label 73)
   (parent 71)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -2288,6 +2430,8 @@
   (label 74)
   (parent 71)
   (unrealized (0 0) (3 0) (3 2))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -2319,6 +2463,8 @@
   (parent 71)
   (unrealized (0 0) (3 0))
   (dead)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -2348,6 +2494,8 @@
   (label 76)
   (parent 72)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2386,6 +2534,8 @@
   (label 77)
   (parent 72)
   (unrealized (0 0) (4 0) (4 2))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2418,6 +2568,8 @@
   (parent 72)
   (unrealized (0 0) (4 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "empty cohort"))
 
 (defskeleton dhca
@@ -2516,6 +2668,8 @@
   (label 81)
   (parent 74)
   (unrealized (0 0) (3 2))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -2555,6 +2709,8 @@
   (label 82)
   (parent 74)
   (unrealized (0 0) (3 2))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2588,6 +2744,8 @@
   (seen-ops
     (79 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -2692,6 +2850,8 @@
   (label 86)
   (parent 77)
   (unrealized (0 0) (4 2))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2728,6 +2888,8 @@
   (label 87)
   (parent 77)
   (unrealized (0 0) (4 2))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2768,6 +2930,8 @@
   (label 88)
   (parent 77)
   (unrealized (0 0) (4 2))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -2803,6 +2967,8 @@
   (label 89)
   (parent 81)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -2840,6 +3006,8 @@
   (label 90)
   (parent 81)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2877,6 +3045,8 @@
   (label 91)
   (parent 82)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -2920,6 +3090,8 @@
       (operation encryption-test (displaced 5 4 ca 1)
         (enc gy b (privk ca-0)) (0 0)) (strand-map 0 1 2 3 4)))
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -2960,6 +3132,8 @@
   (label 93)
   (parent 82)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -2996,6 +3170,8 @@
   (label 94)
   (parent 86)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -3037,6 +3213,8 @@
       (operation encryption-test (displaced 5 2 ca 1)
         (enc gy a (privk ca)) (0 0)) (strand-map 0 1 2 3 4)))
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -3075,6 +3253,8 @@
   (label 96)
   (parent 86)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -3111,6 +3291,8 @@
   (label 97)
   (parent 87)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -3152,6 +3334,8 @@
       (operation encryption-test (displaced 5 2 ca 1)
         (enc gx a (privk ca)) (0 0)) (strand-map 0 1 2 3 4)))
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gx) (n n) (dhkey dhkey))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton dhca
@@ -3190,6 +3374,8 @@
   (label 99)
   (parent 87)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -3229,6 +3415,8 @@
   (label 100)
   (parent 88)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gx) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton dhca
@@ -3273,6 +3461,8 @@
       (operation encryption-test (displaced 6 2 ca 1)
         (enc gx a-0 (privk ca)) (0 0)) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -3318,6 +3508,8 @@
       (operation encryption-test (displaced 6 5 ca 1)
         (enc gx a-0 (privk ca-0)) (0 0)) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gx) (n n) (dhkey dhkey))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton dhca
@@ -3360,6 +3552,8 @@
   (label 103)
   (parent 88)
   (unrealized (0 0))
+  (maps
+    ((0 1) ((a a) (b b) (ca ca) (gx gx) (gy gy) (n n) (dhkey dhkey))))
   (comment "5 in cohort - 5 not yet seen"))
 
 (defskeleton dhca
@@ -3515,6 +3709,8 @@
   (label 107)
   (parent 90)
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -3882,6 +4078,8 @@
   (label 116)
   (parent 93)
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -3966,6 +4164,8 @@
   (seen-ops
     (104 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -4209,6 +4409,8 @@
     (106 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -4249,6 +4451,8 @@
   (label 125)
   (parent 96)
   (realized)
+  (maps
+    ((0 1) ((a b-0) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -4327,6 +4531,8 @@
   (label 127)
   (parent 97)
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -4566,6 +4772,8 @@
   (label 133)
   (parent 99)
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -4607,6 +4815,8 @@
   (label 134)
   (parent 99)
   (realized)
+  (maps
+    ((0 1) ((a b-0) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -4733,6 +4943,8 @@
     (109 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gx) (gy gx) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5029,6 +5241,8 @@
     (112 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gx) (gy gx) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5163,6 +5377,8 @@
     (115 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5 6)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5246,6 +5462,8 @@
   (label 149)
   (parent 103)
   (realized)
+  (maps
+    ((0 1) ((a b-0) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -5332,6 +5550,8 @@
     (105 (operation generalization weakened ((4 0) (1 3)))
       (strand-map 0 1 2 3 4)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5373,6 +5593,8 @@
     (111 (operation generalization weakened ((5 0) (1 3)))
       (strand-map 0 1 2 3 4 5)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5416,6 +5638,8 @@
     (122 (operation generalization weakened ((5 0) (1 3)))
       (strand-map 0 1 2 3 4 5)))
   (realized)
+  (maps
+    ((0 1) ((a b-0) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5451,6 +5675,8 @@
   (label 154)
   (parent 127)
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -5488,6 +5714,8 @@
   (label 155)
   (parent 133)
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhca
@@ -5532,6 +5760,8 @@
     (131 (operation generalization weakened ((5 0) (1 3)))
       (strand-map 0 1 2 3 4 5)))
   (realized)
+  (maps
+    ((0 1) ((a b-0) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5576,6 +5806,8 @@
     (139 (operation generalization weakened ((6 0) (1 3)))
       (strand-map 0 1 2 3 4 5 6)))
   (realized)
+  (maps
+    ((0 1) ((a b-0) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
@@ -5615,6 +5847,8 @@
     (109 (operation generalization separated b-0)
       (strand-map 0 1 2 3 4)))
   (realized)
+  (maps
+    ((0 1) ((a b) (b b) (ca ca) (gx gy) (gy gy) (n n) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton dhca
diff --git a/tst/dh_encrypt_hack.tst b/tst/dh_encrypt_hack.tst
--- a/tst/dh_encrypt_hack.tst
+++ b/tst/dh_encrypt_hack.tst
@@ -1,6 +1,6 @@
 (herald dhencrypt (algebra basic))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dh_encrypt_hack.scm")
 
 (defprotocol dhencrypt basic
@@ -40,6 +40,7 @@
       (send (enc "check" n (enc "dh" gx h dhkey)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (n n))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -50,6 +51,7 @@
   (precedes ((1 1) (0 1)))
   (non-orig dhkey (invk gx) (invk h))
   (uniq-orig n h)
+  (comment "Initiator full point of view")
   (operation encryption-test (added-strand resp 2)
     (enc n (enc "dh" gx h dhkey)) (0 1))
   (strand-map 0)
@@ -70,6 +72,7 @@
   (deflistener (enc "dh" gx h dhkey))
   (precedes ((1 1) (0 1)))
   (non-orig dhkey (invk gx))
+  (comment "Initiator full point of view")
   (operation encryption-test (added-listener (enc "dh" gx h dhkey))
     (enc n (enc "dh" gx h dhkey)) (0 1))
   (strand-map 0)
@@ -80,6 +83,7 @@
   (label 2)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhencrypt
@@ -89,6 +93,7 @@
   (defstrand CDHcalc1 2 (dhkey dhkey) (gx gx) (gy h))
   (precedes ((1 1) (0 1)) ((2 1) (1 0)))
   (non-orig dhkey (invk gx))
+  (comment "Initiator full point of view")
   (operation encryption-test (added-strand CDHcalc1 2)
     (enc "dh" gx h dhkey) (1 0))
   (strand-map 0 1)
@@ -100,6 +105,7 @@
   (label 3)
   (parent 2)
   (realized)
+  (maps ((0) ((gx gx) (h h) (dhkey dhkey) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhencrypt
@@ -108,6 +114,7 @@
   (defstrand CDHcalc1 2 (dhkey dhkey) (gx gx) (gy h))
   (precedes ((1 1) (0 1)))
   (non-orig dhkey (invk gx))
+  (comment "Initiator full point of view")
   (operation generalization deleted (1 0))
   (strand-map 0 2)
   (traces
@@ -161,6 +168,7 @@
       (recv (enc "check" n (enc "dh" h gy dhkey)))))
   (label 5)
   (unrealized (0 2))
+  (maps ((0) ((gy gy) (h h) (dhkey dhkey) (n n))))
   (origs (n (0 1)) (gy (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -171,6 +179,7 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig dhkey (invk gy) (invk h))
   (uniq-orig n gy)
+  (comment "Responder full point of view")
   (operation encryption-test (added-strand init 3)
     (enc "check" n (enc "dh" h gy dhkey)) (0 2))
   (strand-map 0)
@@ -193,6 +202,7 @@
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
   (non-orig dhkey (invk gy))
   (uniq-orig n gy)
+  (comment "Responder full point of view")
   (operation encryption-test (added-listener (enc "dh" h gy dhkey))
     (enc "check" n (enc "dh" h gy dhkey)) (0 2))
   (strand-map 0)
@@ -203,6 +213,7 @@
   (label 7)
   (parent 5)
   (unrealized (1 0))
+  (maps ((0) ((gy gy) (h h) (dhkey dhkey) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhencrypt
@@ -213,6 +224,7 @@
   (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)))
   (non-orig dhkey (invk gy))
   (uniq-orig n gy)
+  (comment "Responder full point of view")
   (operation encryption-test (added-strand CDHcalc2 2)
     (enc "dh" h gy dhkey) (1 0))
   (strand-map 0 1)
@@ -224,6 +236,7 @@
   (label 8)
   (parent 7)
   (realized)
+  (maps ((0) ((gy gy) (h h) (dhkey dhkey) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhencrypt
@@ -233,6 +246,7 @@
   (precedes ((0 1) (1 0)) ((1 1) (0 2)))
   (non-orig dhkey (invk gy))
   (uniq-orig n gy)
+  (comment "Responder full point of view")
   (operation generalization deleted (1 0))
   (strand-map 0 2)
   (traces
@@ -289,6 +303,7 @@
   (label 10)
   (unrealized (0 1) (1 2))
   (preskeleton)
+  (maps ((0 1) ((gx gx) (gy gy) (n n) (dhkey dhkey) (dhkey-0 dhkey-0))))
   (origs (n (1 1)) (gy (1 1)))
   (comment "Not a skeleton"))
 
@@ -299,12 +314,15 @@
   (precedes ((1 1) (0 1)))
   (non-orig dhkey dhkey-0 (invk gx) (invk gy))
   (uniq-orig n gy)
+  (comment
+    "Point of view where the natural result should be the only shape")
   (traces ((send gx) (recv (cat gy (enc n (enc "dh" gx gy dhkey)))))
     ((recv gx) (send (cat gy (enc n (enc "dh" gx gy dhkey-0))))
       (recv (enc "check" n (enc "dh" gx gy dhkey-0)))))
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 2))
+  (maps ((0 1) ((gx gx) (gy gy) (n n) (dhkey dhkey) (dhkey-0 dhkey-0))))
   (origs (n (1 1)) (gy (1 1)))
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -315,6 +333,8 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gy)
+  (comment
+    "Point of view where the natural result should be the only shape")
   (operation encryption-test (displaced 0 2 init 3)
     (enc "check" n (enc "dh" gx gy dhkey)) (1 2))
   (strand-map 1 0)
@@ -338,6 +358,8 @@
   (precedes ((1 1) (0 1)) ((1 1) (2 1)) ((2 2) (1 2)))
   (non-orig dhkey dhkey-0 (invk gx) (invk gy))
   (uniq-orig n gy)
+  (comment
+    "Point of view where the natural result should be the only shape")
   (operation encryption-test (added-strand init 3)
     (enc "check" n (enc "dh" gx gy dhkey-0)) (1 2))
   (strand-map 0 1)
@@ -349,6 +371,7 @@
   (label 13)
   (parent 11)
   (unrealized (0 1))
+  (maps ((0 1) ((gx gx) (gy gy) (n n) (dhkey dhkey) (dhkey-0 dhkey-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhencrypt
@@ -359,6 +382,8 @@
   (precedes ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (1 2)))
   (non-orig dhkey dhkey-0 (invk gx) (invk gy))
   (uniq-orig n gy)
+  (comment
+    "Point of view where the natural result should be the only shape")
   (operation encryption-test (added-listener (enc "dh" gx gy dhkey-0))
     (enc "check" n (enc "dh" gx gy dhkey-0)) (1 2))
   (strand-map 0 1)
@@ -370,6 +395,7 @@
   (parent 11)
   (unrealized (0 1) (2 0))
   (dead)
+  (maps ((0 1) ((gx gx) (gy gy) (n n) (dhkey dhkey) (dhkey-0 dhkey-0))))
   (comment "empty cohort"))
 
 (defskeleton dhencrypt
@@ -380,6 +406,8 @@
   (precedes ((1 1) (0 1)) ((1 1) (2 1)) ((2 2) (1 2)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gy)
+  (comment
+    "Point of view where the natural result should be the only shape")
   (operation encryption-test (displaced 3 1 resp 2)
     (enc n (enc "dh" gx gy dhkey-0)) (0 1))
   (strand-map 0 1 2)
@@ -404,6 +432,8 @@
   (precedes ((1 1) (2 1)) ((1 1) (3 0)) ((2 2) (1 2)) ((3 1) (0 1)))
   (non-orig dhkey dhkey-0 (invk gx) (invk gy))
   (uniq-orig n gy)
+  (comment
+    "Point of view where the natural result should be the only shape")
   (operation encryption-test (added-listener (enc "dh" gx gy dhkey))
     (enc n (enc "dh" gx gy dhkey)) (0 1))
   (strand-map 0 1 2)
@@ -417,6 +447,7 @@
   (parent 13)
   (unrealized (0 1) (3 0))
   (dead)
+  (maps ((0 1) ((gx gx) (gy gy) (n n) (dhkey dhkey) (dhkey-0 dhkey-0))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/dh_group_sig.tst b/tst/dh_group_sig.tst
--- a/tst/dh_group_sig.tst
+++ b/tst/dh_group_sig.tst
@@ -1,7 +1,7 @@
 (herald "Signed group DH exchange (improved version)"
   (algebra diffie-hellman) (limit 100))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dh_group_sig.scm")
 (comment "Step count limited to 100")
 
@@ -69,6 +69,10 @@
       (recv (enc na nb (exp (gen) (mul x y alpha)))) (send nb)))
   (label 0)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (origs)
   (ugens (x (0 1)) (na (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -103,6 +107,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -145,6 +153,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 4) (2 0))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
@@ -185,6 +197,10 @@
   (label 3)
   (parent 2)
   (unrealized (0 4))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
@@ -230,6 +246,10 @@
   (label 4)
   (parent 2)
   (unrealized (0 4))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -324,6 +344,10 @@
   (label 6)
   (parent 3)
   (unrealized (3 0))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dh_sig
@@ -373,6 +397,10 @@
   (label 7)
   (parent 4)
   (unrealized (4 0))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dh_sig
@@ -421,6 +449,10 @@
   (parent 6)
   (unrealized (4 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -469,6 +501,10 @@
   (parent 6)
   (unrealized (4 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -517,6 +553,10 @@
   (parent 6)
   (unrealized (4 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -570,6 +610,10 @@
   (parent 7)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -623,6 +667,10 @@
   (parent 7)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -676,6 +724,10 @@
   (parent 7)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -744,6 +796,10 @@
       (send (enc na nb (exp (gen) (mul y x alpha)))) (recv nb)))
   (label 14)
   (unrealized (0 0) (0 1) (0 3))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (origs)
   (ugens (y (0 2)) (nb (0 4)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -778,6 +834,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -815,6 +875,10 @@
   (label 16)
   (parent 15)
   (unrealized (0 3) (0 5) (2 0))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) x alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
@@ -852,6 +916,10 @@
   (label 17)
   (parent 16)
   (unrealized (0 3) (0 5))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -893,6 +961,10 @@
   (label 18)
   (parent 16)
   (unrealized (0 3) (0 5))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) x alpha-0)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -937,6 +1009,10 @@
   (label 19)
   (parent 17)
   (unrealized (0 5))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
@@ -986,6 +1062,10 @@
   (label 20)
   (parent 18)
   (unrealized (0 5))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) alpha-0 x)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -1082,6 +1162,10 @@
   (label 22)
   (parent 19)
   (unrealized (3 0))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dh_sig
@@ -1133,6 +1217,10 @@
   (label 23)
   (parent 20)
   (unrealized (4 0))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) alpha-0 x)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dh_sig
@@ -1184,6 +1272,10 @@
   (parent 22)
   (unrealized (4 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -1235,6 +1327,10 @@
   (parent 22)
   (unrealized (4 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -1286,6 +1382,10 @@
   (parent 22)
   (unrealized (4 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group) (na na)
+        (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -1342,6 +1442,10 @@
   (parent 23)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) alpha-0 x)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -1398,6 +1502,10 @@
   (parent 23)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) alpha-0 x)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (defskeleton dh_sig
@@ -1454,6 +1562,10 @@
   (parent 23)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) alpha-0 x)) (alpha alpha)
+        (group group) (na na) (nb nb) (group-dist group-dist))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/dh_group_sig_auth_failure.tst b/tst/dh_group_sig_auth_failure.tst
--- a/tst/dh_group_sig_auth_failure.tst
+++ b/tst/dh_group_sig_auth_failure.tst
@@ -1,7 +1,7 @@
 (herald "Signed group DH exchange (version with auth failure)"
   (algebra diffie-hellman) (limit 100))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dh_group_sig_auth_failure.scm")
 (comment "Step count limited to 100")
 
@@ -66,6 +66,10 @@
           (privk a)))))
   (label 0)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group)
+        (group-dist group-dist))))
   (origs)
   (ugens (x (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -99,6 +103,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y y) (alpha alpha) (group group)
+        (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -139,6 +147,10 @@
   (label 2)
   (parent 1)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((a a) (b b) (x x) (y (mul y (rec alpha) alpha-0)) (alpha alpha)
+        (group group) (group-dist group-dist))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
@@ -297,6 +309,10 @@
           (privk a)))))
   (label 5)
   (unrealized (0 0) (0 1) (0 3))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group)
+        (group-dist group-dist))))
   (origs)
   (ugens (y (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -330,6 +346,10 @@
   (label 6)
   (parent 5)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group)
+        (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -365,6 +385,10 @@
   (label 7)
   (parent 6)
   (unrealized (0 3) (2 0))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) x alpha-0)) (alpha alpha)
+        (group group) (group-dist group-dist))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dh_sig
@@ -400,6 +424,10 @@
   (label 8)
   (parent 7)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x x) (alpha alpha) (group group)
+        (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
@@ -439,6 +467,10 @@
   (label 9)
   (parent 7)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((a a) (b b) (y y) (x (mul (rec alpha) x alpha-0)) (alpha alpha)
+        (group group) (group-dist group-dist))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_sig
diff --git a/tst/dh_mim_hack.tst b/tst/dh_mim_hack.tst
--- a/tst/dh_mim_hack.tst
+++ b/tst/dh_mim_hack.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dh_mim_hack.scm")
 
 (defprotocol dh_mim basic
@@ -39,6 +39,9 @@
     ((recv gx-0) (send gy) (recv (enc n (enc "dh" gx-0 gy dhkey)))))
   (label 0)
   (unrealized (1 2))
+  (maps
+    ((0 1)
+      ((n n) (gx gx) (gy gy) (dhkey dhkey) (gy-0 gy-0) (gx-0 gx-0))))
   (origs (gy (1 1)) (gx (0 0)) (n (0 2)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -49,6 +52,7 @@
   (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation encryption-test (displaced 2 0 init 3)
     (enc n (enc "dh" gx-0 gy-0 dhkey)) (1 2))
   (strand-map 0 1)
@@ -70,6 +74,7 @@
   (precedes ((0 2) (1 2)) ((1 1) (2 0)) ((2 1) (1 2)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation encryption-test (added-listener (enc "dh" gx-0 gy dhkey))
     (enc n (enc "dh" gx-0 gy dhkey)) (1 2))
   (strand-map 0 1)
@@ -80,6 +85,9 @@
   (label 2)
   (parent 0)
   (unrealized (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((n n) (gx gx) (gy gy) (dhkey dhkey) (gy-0 gy-0) (gx-0 gx-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_mim
@@ -91,6 +99,7 @@
   (precedes ((0 2) (1 2)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation encryption-test (added-strand CDHcalc2 2)
     (enc "dh" gx-0 gy dhkey) (2 0))
   (strand-map 0 1 2)
@@ -102,6 +111,9 @@
   (label 3)
   (parent 2)
   (unrealized (1 2))
+  (maps
+    ((0 1)
+      ((n n) (gx gx) (gy gy) (dhkey dhkey) (gy-0 gy-0) (gx-0 gx-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_mim
@@ -115,6 +127,7 @@
     ((3 1) (2 0)) ((4 1) (1 2)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation nonce-test (added-listener (enc "dh" gx gy-0 dhkey)) n
     (1 2) (enc n (enc "dh" gx gy-0 dhkey)))
   (strand-map 0 1 2 3)
@@ -127,6 +140,9 @@
   (label 4)
   (parent 3)
   (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((n n) (gx gx) (gy gy) (dhkey dhkey) (gy-0 gy-0) (gx-0 gx-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_mim
@@ -141,6 +157,7 @@
     ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (4 0)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation encryption-test (added-strand CDHcalc1 2)
     (enc "dh" gx gy-0 dhkey) (4 0))
   (strand-map 0 1 2 3 4)
@@ -154,6 +171,9 @@
   (label 5)
   (parent 4)
   (realized)
+  (maps
+    ((0 1)
+      ((n n) (gx gx) (gy gy) (dhkey dhkey) (gy-0 gy-0) (gx-0 gx-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_mim
@@ -167,6 +187,7 @@
     ((3 1) (1 2)) ((4 1) (3 0)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation generalization deleted (2 0))
   (strand-map 0 1 3 4 5)
   (traces
@@ -178,6 +199,9 @@
   (label 6)
   (parent 5)
   (realized)
+  (maps
+    ((0 1)
+      ((n n) (gx gx) (gy gy) (dhkey dhkey) (gy-0 gy-0) (gx-0 gx-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dh_mim
@@ -190,6 +214,7 @@
     ((3 1) (1 2)))
   (non-orig dhkey (invk gx) (invk gy))
   (uniq-orig n gx gy)
+  (comment "Agreement on the encrypted text only")
   (operation generalization deleted (3 0))
   (strand-map 0 1 2 4)
   (traces
diff --git a/tst/dhnsl_hack.tst b/tst/dhnsl_hack.tst
--- a/tst/dhnsl_hack.tst
+++ b/tst/dhnsl_hack.tst
@@ -1,7 +1,7 @@
 (herald "Diffie-Hellman enhanced Needham-Schroeder-Lowe Protocol"
   (algebra basic))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dhnsl_hack.scm")
 
 (defprotocol dhnsl basic
@@ -42,6 +42,7 @@
       (send (enc (enc "dh" gz gx dhkey) (pubk b)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (origs (gx (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -53,6 +54,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig dhkey (invk gx) (invk gy) (invk gz-0) (privk a) (privk b))
   (uniq-orig gx gy gz-0)
+  (comment "Initiator point-of-view")
   (operation encryption-test (added-strand resp 2)
     (enc "dh" gy gx dhkey) (0 1))
   (strand-map 0)
@@ -65,6 +67,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhnsl
@@ -74,6 +77,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig dhkey (invk gx) (invk gy) (invk gz-0) (privk a) (privk b))
   (uniq-orig gx gy gz-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (b-0 b) (a-0 a)) gx (1 0)
     (enc gx a (pubk b)))
   (strand-map 0 1)
@@ -86,6 +90,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
@@ -100,6 +105,7 @@
   (non-orig dhkey dhkey-0 (invk gx) (invk gy) (invk gz-0) (invk gy-0)
     (invk gz-1) (privk a) (privk b))
   (uniq-orig gx gy gz-0 gy-0 gz-1)
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) gx (1 0)
     (enc gx a (pubk b)))
   (strand-map 0 1)
@@ -114,6 +120,7 @@
   (label 3)
   (parent 1)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
@@ -123,6 +130,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig dhkey (invk gx) (invk gy) (invk gz) (privk a) (privk b))
   (uniq-orig gx gy gz)
+  (comment "Initiator point-of-view")
   (operation encryption-test (contracted (gz-0 gz))
     (enc "dh" gy gx dhkey) (0 1)
     (enc gy (enc "dh" gy gx dhkey) gz b (pubk a)))
@@ -150,6 +158,7 @@
   (non-orig dhkey dhkey-0 (invk gx) (invk gy) (invk gz-0) (invk gy-0)
     (invk gz-1) (privk a) (privk b))
   (uniq-orig gx gy gz-0 gy-0 gz-1)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (b-0 b) (a-0 a)) gx (1 0)
     (enc gx a (pubk b))
     (enc gy-0 (enc "dh" gy-0 gx dhkey-0) gz-1 b (pubk a)))
@@ -165,6 +174,7 @@
   (label 5)
   (parent 3)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
@@ -177,6 +187,7 @@
   (non-orig dhkey dhkey-0 (invk gx) (invk gy) (invk gz) (invk gy-0)
     (invk gz-0) (privk a) (privk b))
   (uniq-orig gx gy gz gy-0 gz-0)
+  (comment "Initiator point-of-view")
   (operation encryption-test (contracted (gz-1 gz))
     (enc "dh" gy gx dhkey) (0 1)
     (enc gy (enc "dh" gy gx dhkey) gz b (pubk a)))
@@ -195,6 +206,7 @@
   (seen-ops
     (4 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -237,6 +249,7 @@
       (recv (enc (enc "dh" gz gx dhkey) (pubk b)))))
   (label 7)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (origs (gz (0 1)) (gy (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -248,6 +261,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy) (invk gz) (privk a))
   (uniq-orig gx gy gz)
+  (comment "Responder point-of-view")
   (operation encryption-test (added-strand init 3)
     (enc "dh" gz gx dhkey) (0 2))
   (strand-map 0)
@@ -261,6 +275,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhnsl
@@ -268,6 +283,7 @@
   (defstrand resp 3 (dhkey dhkey) (h1 gx) (gy gy) (gz gy) (b b) (a a))
   (non-orig dhkey (invk gy) (privk a))
   (uniq-orig gy)
+  (comment "Responder point-of-view")
   (operation encryption-test (displaced 1 0 resp 2)
     (enc "dh" gz gx dhkey) (0 2))
   (strand-map 0)
@@ -278,6 +294,7 @@
   (label 9)
   (parent 7)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gy) (dhkey dhkey))))
   (origs (gy (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -289,6 +306,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy) (invk gz) (privk a))
   (uniq-orig gx gy gz)
+  (comment "Responder point-of-view")
   (operation encryption-test (displaced 2 0 resp 2)
     (enc "dh" h2 gx dhkey) (1 1))
   (strand-map 0 1)
@@ -302,6 +320,7 @@
   (label 10)
   (parent 8)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
@@ -316,6 +335,7 @@
   (non-orig dhkey (invk gx) (invk gy) (invk gz) (invk h2) (invk gz-0)
     (privk a))
   (uniq-orig gx gy gz h2 gz-0)
+  (comment "Responder point-of-view")
   (operation encryption-test (added-strand resp 2)
     (enc "dh" h2 gx dhkey) (1 1))
   (strand-map 0 1)
@@ -332,6 +352,7 @@
   (parent 8)
   (unrealized (1 1))
   (dead)
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gz) (dhkey dhkey))))
   (comment "empty cohort"))
 
 (defskeleton dhnsl
@@ -342,6 +363,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy) (privk a))
   (uniq-orig gx gy)
+  (comment "Responder point-of-view")
   (operation encryption-test (added-strand init 3)
     (enc "dh" gy gx dhkey) (0 2)
     (enc gy (enc "dh" gy gx dhkey) gy b (pubk a)))
@@ -356,6 +378,7 @@
   (label 12)
   (parent 9)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gy) (dhkey dhkey))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhnsl
@@ -365,6 +388,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy) (invk gz) (privk a))
   (uniq-orig gx gy gz)
+  (comment "Responder point-of-view")
   (operation encryption-test (contracted (a-0 a) (b-0 b))
     (enc "dh" gy gx dhkey) (1 1)
     (enc gy (enc "dh" gy gx dhkey) gz b (pubk a)))
@@ -391,6 +415,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy) (privk a))
   (uniq-orig gx gy)
+  (comment "Responder point-of-view")
   (operation encryption-test (displaced 2 0 resp 2)
     (enc "dh" h2 gx dhkey) (1 1))
   (strand-map 0 1)
@@ -404,6 +429,7 @@
   (label 14)
   (parent 12)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gy) (dhkey dhkey))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhnsl
@@ -417,6 +443,7 @@
     ((2 1) (1 1)))
   (non-orig dhkey (invk gx) (invk gy) (invk h2) (invk gz) (privk a))
   (uniq-orig gx gy h2 gz)
+  (comment "Responder point-of-view")
   (operation encryption-test (added-strand resp 2)
     (enc "dh" h2 gx dhkey) (1 1))
   (strand-map 0 1)
@@ -433,6 +460,7 @@
   (parent 12)
   (unrealized (1 1))
   (dead)
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gy) (dhkey dhkey))))
   (comment "empty cohort"))
 
 (defskeleton dhnsl
@@ -442,6 +470,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig dhkey (invk gx) (invk gy) (privk a))
   (uniq-orig gx gy)
+  (comment "Responder point-of-view")
   (operation encryption-test (contracted (a-0 a) (b-0 b))
     (enc "dh" gy gx dhkey) (1 1)
     (enc gy (enc "dh" gy gx dhkey) gy b (pubk a)))
@@ -459,6 +488,7 @@
   (seen-ops
     (13 (operation generalization separated gy-0) (strand-map 0 1)))
   (realized)
+  (maps ((0) ((a a) (b b) (gx gx) (gy gy) (gz gy) (dhkey dhkey))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/dhstatic-state.tst b/tst/dhstatic-state.tst
--- a/tst/dhstatic-state.tst
+++ b/tst/dhstatic-state.tst
@@ -1,6 +1,6 @@
 (herald dhstatic-state (algebra diffie-hellman) (bound 16))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/dhstatic-state.scm")
 (comment "Strand count bounded at 16")
 
@@ -70,9 +70,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -137,6 +136,11 @@
       (recv n)))
   (label 0)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha alpha) (n n)
+        (static-key static-key))))
   (origs (n (0 2)))
   (comment "Not closed under rules"))
 
@@ -159,6 +163,11 @@
   (label 1)
   (parent 0)
   (unrealized (0 0) (0 1))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha alpha) (n n)
+        (static-key static-key))))
   (origs (n (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -193,6 +202,11 @@
   (label 2)
   (parent 1)
   (unrealized (0 1) (1 1))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha alpha) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -230,6 +244,11 @@
   (label 3)
   (parent 2)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha alpha) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -271,6 +290,11 @@
   (label 4)
   (parent 3)
   (unrealized (3 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha alpha) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -315,6 +339,11 @@
   (label 5)
   (parent 4)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -372,6 +401,11 @@
   (label 6)
   (parent 5)
   (unrealized (5 0) (5 1))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -418,6 +452,11 @@
   (label 7)
   (parent 5)
   (unrealized (5 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -550,6 +589,11 @@
   (label 9)
   (parent 6)
   (unrealized (5 1))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -599,6 +643,11 @@
   (label 10)
   (parent 7)
   (unrealized (6 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -648,6 +697,11 @@
   (label 11)
   (parent 7)
   (unrealized (6 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -716,6 +770,11 @@
   (label 12)
   (parent 9)
   (unrealized (7 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -784,6 +843,11 @@
   (label 13)
   (parent 9)
   (unrealized (7 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -852,6 +916,11 @@
   (label 14)
   (parent 9)
   (unrealized (7 0))
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -908,6 +977,11 @@
   (label 15)
   (parent 10)
   (unrealized (5 0) (6 1))
+  (maps
+    ((0)
+      ((ca ca) (b self) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -957,6 +1031,10 @@
   (parent 11)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra-0) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra) (n n) (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -1024,6 +1102,11 @@
   (parent 12)
   (unrealized (7 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -1102,6 +1185,11 @@
   (label 18)
   (parent 13)
   (unrealized (6 0) (7 1))
+  (maps
+    ((0)
+      ((ca ca-0) (b self) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-1) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1169,6 +1257,10 @@
   (parent 14)
   (unrealized (7 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (b b) (a a) (ra ra-1) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra) (n n) (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -1226,6 +1318,11 @@
   (parent 15)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (b self) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -1288,6 +1385,11 @@
   (parent 15)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (b self) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -1368,6 +1470,11 @@
   (parent 18)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca-0) (b self) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-1) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -1455,6 +1562,11 @@
   (parent 18)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca-0) (b self) (a a) (ra ra) (serial-a serial-a)
+        (serial-b serial-b) (alpha ra-1) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1525,9 +1637,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1591,6 +1702,11 @@
       (send n)))
   (label 24)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb rb) (serial-b serial-b)
+        (serial-a serial-a) (alpha alpha) (n n)
+        (static-key static-key))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -1612,6 +1728,11 @@
   (label 25)
   (parent 24)
   (unrealized (0 0) (0 1))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb rb) (serial-b serial-b)
+        (serial-a serial-a) (alpha alpha) (n n)
+        (static-key static-key))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1645,6 +1766,11 @@
   (label 26)
   (parent 25)
   (unrealized (0 1) (1 1))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha alpha) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1682,6 +1808,11 @@
   (label 27)
   (parent 26)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha alpha) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1723,6 +1854,11 @@
   (label 28)
   (parent 27)
   (unrealized (3 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha alpha) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1767,6 +1903,11 @@
   (label 29)
   (parent 28)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1822,6 +1963,11 @@
   (label 30)
   (parent 29)
   (unrealized (5 0) (5 1))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1868,6 +2014,11 @@
   (label 31)
   (parent 29)
   (unrealized (5 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -1998,6 +2149,11 @@
   (label 33)
   (parent 30)
   (unrealized (5 1))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2047,6 +2203,11 @@
   (label 34)
   (parent 31)
   (unrealized (6 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2096,6 +2257,11 @@
   (label 35)
   (parent 31)
   (unrealized (6 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2163,6 +2329,11 @@
   (label 36)
   (parent 33)
   (unrealized (7 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2230,6 +2401,11 @@
   (label 37)
   (parent 33)
   (unrealized (7 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2297,6 +2473,11 @@
   (label 38)
   (parent 33)
   (unrealized (7 0))
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2353,6 +2534,11 @@
   (label 39)
   (parent 34)
   (unrealized (5 0) (6 1))
+  (maps
+    ((0)
+      ((ca ca) (a self) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2402,6 +2588,10 @@
   (parent 35)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra-0) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra) (n n) (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -2467,6 +2657,11 @@
   (parent 36)
   (unrealized (7 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -2545,6 +2740,11 @@
   (label 42)
   (parent 37)
   (unrealized (6 0) (7 1))
+  (maps
+    ((0)
+      ((ca ca-0) (a self) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-1) (n n)
+        (static-key static-key))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton dhstatic-state
@@ -2610,6 +2810,10 @@
   (parent 38)
   (unrealized (7 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (a a) (b b) (rb ra-1) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra) (n n) (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -2667,6 +2871,11 @@
   (parent 39)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (a self) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -2729,6 +2938,11 @@
   (parent 39)
   (unrealized (5 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca) (a self) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-0) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -2809,6 +3023,11 @@
   (parent 42)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca-0) (a self) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-1) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (defskeleton dhstatic-state
@@ -2896,6 +3115,11 @@
   (parent 42)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0)
+      ((ca ca-0) (a self) (b b) (rb ra) (serial-b serial-b)
+        (serial-a serial-a) (alpha ra-1) (n n)
+        (static-key static-key))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/disclosure.tst b/tst/disclosure.tst
--- a/tst/disclosure.tst
+++ b/tst/disclosure.tst
@@ -1,6 +1,6 @@
 (herald disclosure)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/disclosure.scm")
 
 (defprotocol disc basic
@@ -26,6 +26,7 @@
   (traces ((send (enc a b n k)) (recv n)))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((n n) (a a) (b b) (k k))))
   (origs (n (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -60,6 +61,7 @@
   (label 2)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((n n) (a a) (b b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton disc
@@ -77,6 +79,7 @@
   (label 3)
   (parent 2)
   (realized)
+  (maps ((0) ((n n) (a a) (b b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton disc
diff --git a/tst/doorsep.tst b/tst/doorsep.tst
--- a/tst/doorsep.tst
+++ b/tst/doorsep.tst
@@ -1,6 +1,6 @@
 (herald doorsep (comment "Door Simple Example Protocol"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/doorsep.scm")
 
 (defprotocol doorsep basic
@@ -15,8 +15,8 @@
   (defrule trust
     (forall ((z strd) (p d akey))
       (implies
-        (and (p "person" z (idx 1)) (p "person" "p" z p)
-          (p "person" "d" z d) (non (invk p)))
+        (and (p "person" z (idx 1)) (p "person" "d" z d)
+          (p "person" "p" z p) (non (invk p)))
         (non (invk d))))
     (comment "The trust rule"))
   (defgenrule neqRl_indx
@@ -36,6 +36,7 @@
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t)))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (origs (t (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -46,6 +47,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk p) (invk d-0))
   (uniq-orig k t)
+  (comment "Analyze from the doors's perspective")
   (rule trust)
   (operation encryption-test (added-strand person 1) (enc k (invk p))
     (0 0))
@@ -55,6 +57,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton doorsep
@@ -64,6 +67,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk p) (invk d))
   (uniq-orig k t)
+  (comment "Analyze from the doors's perspective")
   (operation encryption-test (contracted (d-0 d)) (enc k (invk p)) (0 0)
     (enc (enc k (invk p)) d))
   (strand-map 0 1)
@@ -72,6 +76,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 2))
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton doorsep
@@ -81,6 +86,7 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig (invk d) (invk p))
   (uniq-orig k t)
+  (comment "Analyze from the doors's perspective")
   (operation nonce-test (displaced 1 2 person 3) t (0 2) (enc t k))
   (strand-map 0 1)
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t))
@@ -100,6 +106,7 @@
   (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 2)))
   (non-orig (invk p) (invk d))
   (uniq-orig k t)
+  (comment "Analyze from the doors's perspective")
   (operation nonce-test (added-listener k) t (0 2) (enc t k))
   (strand-map 0 1)
   (traces ((recv (enc (enc k (invk p)) d)) (send (enc t k)) (recv t))
@@ -108,6 +115,7 @@
   (parent 2)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((p p) (d d) (k k) (t t))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/doorsep2invk.tst b/tst/doorsep2invk.tst
--- a/tst/doorsep2invk.tst
+++ b/tst/doorsep2invk.tst
@@ -1,6 +1,6 @@
 (herald doorsep2invk (comment "Door Simple Example Protocol"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/doorsep2invk.scm")
 
 (defprotocol doorsep basic
@@ -24,10 +24,10 @@
 
 (defskeleton doorsep
   (vars (skey+0 skey) (text+0 text) (akey+1 akey+0 akey+3 akey))
-  (defstrand init 1 (skey skey+0) (self (invk akey+3)) (peer akey+0))
   (defstrand resp 3 (skey skey+0) (data text+0) (self akey+1)
     (peer (invk akey+3)))
-  (precedes ((0 0) (1 0)))
+  (defstrand init 1 (skey skey+0) (self (invk akey+3)) (peer akey+0))
+  (precedes ((1 0) (0 0)))
   (non-orig akey+3 (invk akey+0))
   (uniq-orig skey+0 text+0)
   (goals
@@ -42,32 +42,52 @@
           (p "init" "peer" z-0 akey+0) (prec z-0 0 z 0) (non akey+3)
           (non (invk akey+0)) (uniq-at skey+0 z-0 0)
           (uniq-at text+0 z 1)) (and))))
-  (traces ((send (enc (enc skey+0 akey+3) akey+0)))
+  (traces
     ((recv (enc (enc skey+0 akey+3) akey+1)) (send (enc text+0 skey+0))
-      (recv text+0)))
+      (recv text+0)) ((send (enc (enc skey+0 akey+3) akey+0))))
   (label 0)
-  (unrealized (1 0) (1 2))
-  (origs (skey+0 (0 0)) (text+0 (1 1)))
+  (unrealized (0 0) (0 2))
+  (maps
+    ((0 1)
+      ((text+0 text+0) (skey+0 skey+0) (akey+1 akey+1) (akey+0 akey+0)
+        (akey+3 akey+3))))
+  (origs (text+0 (0 1)) (skey+0 (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton doorsep
   (vars (skey+0 skey) (text+0 text) (akey+0 akey+3 akey))
-  (defstrand init 1 (skey skey+0) (self (invk akey+3)) (peer akey+0))
   (defstrand resp 3 (skey skey+0) (data text+0) (self akey+0)
     (peer (invk akey+3)))
-  (precedes ((0 0) (1 0)))
+  (defstrand init 1 (skey skey+0) (self (invk akey+3)) (peer akey+0))
+  (precedes ((1 0) (0 0)))
   (non-orig akey+3 (invk akey+0))
   (uniq-orig skey+0 text+0)
+  (goals
+    (forall
+      ((text+0 text) (skey+0 skey) (akey+1 akey+0 akey+3 akey)
+        (z z-0 strd))
+      (implies
+        (and (p "resp" z 3) (p "init" z-0 1) (p "resp" "data" z text+0)
+          (p "resp" "skey" z skey+0) (p "resp" "self" z akey+1)
+          (p "resp" "peer" z (invk akey+3)) (p "init" "skey" z-0 skey+0)
+          (p "init" "self" z-0 (invk akey+3))
+          (p "init" "peer" z-0 akey+0) (prec z-0 0 z 0) (non akey+3)
+          (non (invk akey+0)) (uniq-at skey+0 z-0 0)
+          (uniq-at text+0 z 1)) (and))))
   (operation encryption-test (contracted (akey+1 akey+0))
-    (enc skey+0 akey+3) (1 0) (enc (enc skey+0 akey+3) akey+0))
+    (enc skey+0 akey+3) (0 0) (enc (enc skey+0 akey+3) akey+0))
   (strand-map 0 1)
-  (traces ((send (enc (enc skey+0 akey+3) akey+0)))
+  (traces
     ((recv (enc (enc skey+0 akey+3) akey+0)) (send (enc text+0 skey+0))
-      (recv text+0)))
+      (recv text+0)) ((send (enc (enc skey+0 akey+3) akey+0))))
   (label 1)
   (parent 0)
-  (unrealized (1 2))
-  (origs (skey+0 (0 0)) (text+0 (1 1)))
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((text+0 text+0) (skey+0 skey+0) (akey+1 akey+0) (akey+0 akey+0)
+        (akey+3 akey+3))))
+  (origs (text+0 (0 1)) (skey+0 (1 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton doorsep
@@ -77,9 +97,21 @@
   (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
   (non-orig (invk self) (invk peer))
   (uniq-orig skey+0 text+0)
-  (operation nonce-test (displaced 0 2 init 3) text+0 (1 2)
+  (goals
+    (forall
+      ((text+0 text) (skey+0 skey) (akey+1 akey+0 akey+3 akey)
+        (z z-0 strd))
+      (implies
+        (and (p "resp" z 3) (p "init" z-0 1) (p "resp" "data" z text+0)
+          (p "resp" "skey" z skey+0) (p "resp" "self" z akey+1)
+          (p "resp" "peer" z (invk akey+3)) (p "init" "skey" z-0 skey+0)
+          (p "init" "self" z-0 (invk akey+3))
+          (p "init" "peer" z-0 akey+0) (prec z-0 0 z 0) (non akey+3)
+          (non (invk akey+0)) (uniq-at skey+0 z-0 0)
+          (uniq-at text+0 z 1)) (and))))
+  (operation nonce-test (displaced 1 2 init 3) text+0 (0 2)
     (enc text+0 skey+0))
-  (strand-map 1 0)
+  (strand-map 0 1)
   (traces
     ((recv (enc (enc skey+0 (invk self)) peer))
       (send (enc text+0 skey+0)) (recv text+0))
@@ -91,30 +123,47 @@
   (shape)
   (satisfies yes)
   (maps
-    ((1 0)
+    ((0 1)
       ((text+0 text+0) (skey+0 skey+0) (akey+1 peer) (akey+0 peer)
         (akey+3 (invk self)))))
   (origs (skey+0 (1 0)) (text+0 (0 1))))
 
 (defskeleton doorsep
   (vars (skey+0 skey) (text+0 text) (akey+0 akey+3 akey))
-  (defstrand init 1 (skey skey+0) (self (invk akey+3)) (peer akey+0))
   (defstrand resp 3 (skey skey+0) (data text+0) (self akey+0)
     (peer (invk akey+3)))
+  (defstrand init 1 (skey skey+0) (self (invk akey+3)) (peer akey+0))
   (deflistener skey+0)
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((2 1) (1 2)))
+  (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 2)))
   (non-orig akey+3 (invk akey+0))
   (uniq-orig skey+0 text+0)
-  (operation nonce-test (added-listener skey+0) text+0 (1 2)
+  (goals
+    (forall
+      ((text+0 text) (skey+0 skey) (akey+1 akey+0 akey+3 akey)
+        (z z-0 strd))
+      (implies
+        (and (p "resp" z 3) (p "init" z-0 1) (p "resp" "data" z text+0)
+          (p "resp" "skey" z skey+0) (p "resp" "self" z akey+1)
+          (p "resp" "peer" z (invk akey+3)) (p "init" "skey" z-0 skey+0)
+          (p "init" "self" z-0 (invk akey+3))
+          (p "init" "peer" z-0 akey+0) (prec z-0 0 z 0) (non akey+3)
+          (non (invk akey+0)) (uniq-at skey+0 z-0 0)
+          (uniq-at text+0 z 1)) (and))))
+  (operation nonce-test (added-listener skey+0) text+0 (0 2)
     (enc text+0 skey+0))
   (strand-map 0 1)
-  (traces ((send (enc (enc skey+0 akey+3) akey+0)))
+  (traces
     ((recv (enc (enc skey+0 akey+3) akey+0)) (send (enc text+0 skey+0))
-      (recv text+0)) ((recv skey+0) (send skey+0)))
+      (recv text+0)) ((send (enc (enc skey+0 akey+3) akey+0)))
+    ((recv skey+0) (send skey+0)))
   (label 3)
   (parent 1)
   (unrealized (2 0))
   (dead)
+  (maps
+    ((0 1)
+      ((text+0 text+0) (skey+0 skey+0) (akey+1 akey+0) (akey+0 akey+0)
+        (akey+3 akey+3))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/dy.tst b/tst/dy.tst
# file too large to diff: tst/dy.tst
diff --git a/tst/encsig.tst b/tst/encsig.tst
--- a/tst/encsig.tst
+++ b/tst/encsig.tst
@@ -1,7 +1,7 @@
 (herald "Encrypted Signed Message Example"
   (comment "Shows examples of key usage of asymmetric keys"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/encsig.scm")
 
 (defprotocol mult-keys-enc-sig basic
@@ -33,6 +33,7 @@
       (send (enc (enc n2 (pubk "enc" b)) (privk "sig" a)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -90,6 +91,7 @@
       (recv (enc (enc n2 (pubk "enc" b)) (privk "sig" a)))))
   (label 2)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -111,6 +113,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton mult-keys-enc-sig
@@ -194,6 +197,7 @@
       (recv (enc (enc n2 (pubk "enc" b)) (privk "sig" a)))))
   (label 6)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -252,6 +256,7 @@
       (recv (enc (enc n2 (pubk "enc" b)) (privk "sig" a)))))
   (label 8)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -273,6 +278,7 @@
   (label 9)
   (parent 8)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton mult-keys-enc-sig
@@ -321,6 +327,7 @@
   (label 11)
   (parent 9)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mult-keys-enc-sig
@@ -376,6 +383,7 @@
   (seen-ops
     (10 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton mult-keys-enc-sig
diff --git a/tst/envelope.tst b/tst/envelope.tst
--- a/tst/envelope.tst
+++ b/tst/envelope.tst
@@ -1,6 +1,6 @@
 (herald "Envelope Protocol" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/envelope.scm")
 (comment "Strand count bounded at 15")
 
@@ -70,6 +70,7 @@
   (label 0)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -88,6 +89,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -113,6 +115,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -137,6 +140,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -165,6 +169,7 @@
   (label 4)
   (parent 3)
   (unrealized (3 1) (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -194,6 +199,7 @@
   (label 5)
   (parent 4)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -229,6 +235,7 @@
   (label 6)
   (parent 5)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -265,6 +272,7 @@
   (parent 5)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -298,6 +306,7 @@
   (parent 5)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -337,6 +346,7 @@
   (parent 6)
   (unrealized (5 0) (5 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -376,6 +386,7 @@
   (label 10)
   (parent 6)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -414,6 +425,7 @@
   (parent 6)
   (unrealized (4 1) (5 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -453,6 +465,7 @@
   (label 12)
   (parent 10)
   (unrealized (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -538,6 +551,7 @@
   (parent 12)
   (unrealized (6 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -610,6 +624,7 @@
   (label 15)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -630,6 +645,7 @@
   (label 16)
   (parent 15)
   (unrealized (0 0) (1 2))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -657,6 +673,7 @@
   (label 17)
   (parent 16)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -683,6 +700,7 @@
   (label 18)
   (parent 17)
   (unrealized (0 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -715,6 +733,7 @@
   (label 19)
   (parent 18)
   (unrealized (3 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -753,6 +772,7 @@
   (label 20)
   (parent 19)
   (unrealized (4 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -792,6 +812,7 @@
   (parent 19)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -828,6 +849,7 @@
   (parent 19)
   (unrealized (3 1) (4 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -870,6 +892,7 @@
   (parent 20)
   (unrealized (5 0) (5 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -912,6 +935,7 @@
   (label 24)
   (parent 20)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -953,6 +977,7 @@
   (parent 20)
   (unrealized (4 1) (5 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -995,6 +1020,7 @@
   (label 26)
   (parent 24)
   (unrealized (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1086,6 +1112,7 @@
   (parent 26)
   (unrealized (6 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1160,6 +1187,7 @@
   (label 29)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -1182,6 +1210,7 @@
   (label 30)
   (parent 29)
   (unrealized (0 0) (2 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1211,6 +1240,7 @@
   (label 31)
   (parent 30)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1239,6 +1269,7 @@
   (label 32)
   (parent 31)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1272,6 +1303,7 @@
   (label 33)
   (parent 32)
   (unrealized (0 0) (4 1) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1306,6 +1338,7 @@
   (label 34)
   (parent 33)
   (unrealized (0 0) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -1345,6 +1378,7 @@
   (label 35)
   (parent 34)
   (unrealized (0 0) (5 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -1385,6 +1419,7 @@
   (parent 34)
   (unrealized (0 0) (5 0) (5 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1422,6 +1457,7 @@
   (parent 34)
   (unrealized (0 0) (5 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1465,6 +1501,7 @@
   (parent 35)
   (unrealized (0 0) (6 0) (6 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1508,6 +1545,7 @@
   (label 39)
   (parent 35)
   (unrealized (0 0) (6 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1550,6 +1588,7 @@
   (parent 35)
   (unrealized (0 0) (5 1) (6 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1593,6 +1632,7 @@
   (label 41)
   (parent 39)
   (unrealized (0 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1639,6 +1679,7 @@
   (label 42)
   (parent 41)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1686,6 +1727,7 @@
   (parent 41)
   (unrealized (0 0) (7 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1738,6 +1780,7 @@
   (label 44)
   (parent 42)
   (unrealized (8 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -1795,6 +1838,7 @@
   (label 45)
   (parent 44)
   (unrealized (9 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton envelope
@@ -1853,6 +1897,7 @@
   (parent 44)
   (unrealized (9 0) (9 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1908,6 +1953,7 @@
   (parent 44)
   (unrealized (8 1) (9 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2030,6 +2076,7 @@
   (parent 45)
   (unrealized (10 0) (10 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2092,6 +2139,7 @@
   (label 50)
   (parent 45)
   (unrealized (10 0) (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2152,6 +2200,7 @@
   (parent 45)
   (unrealized (9 1) (10 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2214,6 +2263,7 @@
   (label 52)
   (parent 50)
   (unrealized (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -2409,6 +2459,7 @@
   (parent 52)
   (unrealized (11 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -2461,9 +2512,9 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcrkey skey))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "pcrkey" y pcrkey)
-          (p "tpm-extend" "pcrkey" z pcrkey))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "pcrkey" z pcrkey)
+          (p "tpm-extend" "pcrkey" y pcrkey))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -2489,6 +2540,7 @@
   (label 56)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -2507,6 +2559,7 @@
   (label 57)
   (parent 56)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2532,6 +2585,7 @@
   (label 58)
   (parent 57)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2556,6 +2610,7 @@
   (label 59)
   (parent 58)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2584,6 +2639,7 @@
   (label 60)
   (parent 59)
   (unrealized (3 1) (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2613,6 +2669,7 @@
   (label 61)
   (parent 60)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -2648,6 +2705,7 @@
   (label 62)
   (parent 61)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2684,6 +2742,7 @@
   (parent 61)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2717,6 +2776,7 @@
   (parent 61)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2756,6 +2816,7 @@
   (label 65)
   (parent 62)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2794,6 +2855,7 @@
   (parent 62)
   (unrealized (4 1) (5 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2833,6 +2895,7 @@
   (label 67)
   (parent 65)
   (unrealized (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2918,6 +2981,7 @@
   (parent 67)
   (unrealized (6 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -2970,9 +3034,9 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcrkey skey))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "pcrkey" y pcrkey)
-          (p "tpm-extend" "pcrkey" z pcrkey))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "pcrkey" z pcrkey)
+          (p "tpm-extend" "pcrkey" y pcrkey))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -3000,6 +3064,7 @@
   (label 70)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -3020,6 +3085,7 @@
   (label 71)
   (parent 70)
   (unrealized (0 0) (1 2))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -3047,6 +3113,7 @@
   (label 72)
   (parent 71)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3073,6 +3140,7 @@
   (label 73)
   (parent 72)
   (unrealized (0 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3105,6 +3173,7 @@
   (label 74)
   (parent 73)
   (unrealized (3 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -3143,6 +3212,7 @@
   (label 75)
   (parent 74)
   (unrealized (4 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -3182,6 +3252,7 @@
   (parent 74)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3218,6 +3289,7 @@
   (parent 74)
   (unrealized (3 1) (4 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3260,6 +3332,7 @@
   (label 78)
   (parent 75)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3301,6 +3374,7 @@
   (parent 75)
   (unrealized (4 1) (5 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3343,6 +3417,7 @@
   (label 80)
   (parent 78)
   (unrealized (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -3434,6 +3509,7 @@
   (parent 80)
   (unrealized (6 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -3486,9 +3562,9 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcrkey skey))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "pcrkey" y pcrkey)
-          (p "tpm-extend" "pcrkey" z pcrkey))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "pcrkey" z pcrkey)
+          (p "tpm-extend" "pcrkey" y pcrkey))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -3518,6 +3594,7 @@
   (label 83)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -3540,6 +3617,7 @@
   (label 84)
   (parent 83)
   (unrealized (0 0) (2 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -3569,6 +3647,7 @@
   (label 85)
   (parent 84)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3597,6 +3676,7 @@
   (label 86)
   (parent 85)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3630,6 +3710,7 @@
   (label 87)
   (parent 86)
   (unrealized (0 0) (4 1) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3664,6 +3745,7 @@
   (label 88)
   (parent 87)
   (unrealized (0 0) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -3703,6 +3785,7 @@
   (label 89)
   (parent 88)
   (unrealized (0 0) (5 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -3743,6 +3826,7 @@
   (parent 88)
   (unrealized (0 0) (5 0) (5 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3780,6 +3864,7 @@
   (parent 88)
   (unrealized (0 0) (5 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3823,6 +3908,7 @@
   (label 92)
   (parent 89)
   (unrealized (0 0) (6 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3865,6 +3951,7 @@
   (parent 89)
   (unrealized (0 0) (5 1) (6 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -3908,6 +3995,7 @@
   (label 94)
   (parent 92)
   (unrealized (0 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -3954,6 +4042,7 @@
   (label 95)
   (parent 94)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4001,6 +4090,7 @@
   (parent 94)
   (unrealized (0 0) (7 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4053,6 +4143,7 @@
   (label 97)
   (parent 95)
   (unrealized (8 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -4110,6 +4201,7 @@
   (label 98)
   (parent 97)
   (unrealized (9 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -4168,6 +4260,7 @@
   (parent 97)
   (unrealized (9 0) (9 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4223,6 +4316,7 @@
   (parent 97)
   (unrealized (8 1) (9 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4285,6 +4379,7 @@
   (label 101)
   (parent 98)
   (unrealized (10 0) (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4345,6 +4440,7 @@
   (parent 98)
   (unrealized (9 1) (10 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4407,6 +4503,7 @@
   (label 103)
   (parent 101)
   (unrealized (10 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -4538,6 +4635,7 @@
   (parent 103)
   (unrealized (11 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -4590,9 +4688,9 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcrkey skey))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "pcrkey" y pcrkey)
-          (p "tpm-extend" "pcrkey" z pcrkey))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "pcrkey" z pcrkey)
+          (p "tpm-extend" "pcrkey" y pcrkey))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -4600,12 +4698,12 @@
   (defrule esk-same-as-pcrkey
     (forall ((y z strd) (esk pcrkey pcrkey-0 skey))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "esk" y esk)
-          (p "tpm-extend-enc" "esk" z esk)
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcrkey" z pcrkey-0)
           (p "tpm-extend-enc" "pcrkey" y pcrkey)
-          (p "tpm-extend-enc" "pcrkey" z pcrkey-0))
+          (p "tpm-extend-enc" "esk" z esk)
+          (p "tpm-extend-enc" "esk" y esk))
         (= pcrkey pcrkey-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -4628,6 +4726,7 @@
   (label 106)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -4646,6 +4745,7 @@
   (label 107)
   (parent 106)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4671,6 +4771,7 @@
   (label 108)
   (parent 107)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4695,6 +4796,7 @@
   (label 109)
   (parent 108)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4723,6 +4825,7 @@
   (label 110)
   (parent 109)
   (unrealized (3 1) (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4752,6 +4855,7 @@
   (label 111)
   (parent 110)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -4787,6 +4891,7 @@
   (label 112)
   (parent 111)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -4823,6 +4928,7 @@
   (parent 111)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4856,6 +4962,7 @@
   (parent 111)
   (unrealized (4 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4895,6 +5002,7 @@
   (label 115)
   (parent 112)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -4933,6 +5041,7 @@
   (parent 112)
   (unrealized (4 1) (5 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -4972,6 +5081,7 @@
   (label 117)
   (parent 115)
   (unrealized (5 1))
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -5057,6 +5167,7 @@
   (parent 117)
   (unrealized (6 0))
   (dead)
+  (maps ((0 1) ((v v) (n n) (esk esk) (k k) (aik aik))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -5109,9 +5220,9 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcrkey skey))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "pcrkey" y pcrkey)
-          (p "tpm-extend" "pcrkey" z pcrkey))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "pcrkey" z pcrkey)
+          (p "tpm-extend" "pcrkey" y pcrkey))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -5119,12 +5230,12 @@
   (defrule esk-same-as-pcrkey
     (forall ((y z strd) (esk pcrkey pcrkey-0 skey))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "esk" y esk)
-          (p "tpm-extend-enc" "esk" z esk)
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcrkey" z pcrkey-0)
           (p "tpm-extend-enc" "pcrkey" y pcrkey)
-          (p "tpm-extend-enc" "pcrkey" z pcrkey-0))
+          (p "tpm-extend-enc" "esk" z esk)
+          (p "tpm-extend-enc" "esk" y esk))
         (= pcrkey pcrkey-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -5149,6 +5260,7 @@
   (label 120)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -5169,6 +5281,7 @@
   (label 121)
   (parent 120)
   (unrealized (0 0) (1 2))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -5196,6 +5309,7 @@
   (label 122)
   (parent 121)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -5222,6 +5336,7 @@
   (label 123)
   (parent 122)
   (unrealized (0 0))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -5254,6 +5369,7 @@
   (label 124)
   (parent 123)
   (unrealized (3 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -5292,6 +5408,7 @@
   (label 125)
   (parent 124)
   (unrealized (4 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -5331,6 +5448,7 @@
   (parent 124)
   (unrealized (4 0) (4 1))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -5367,6 +5485,7 @@
   (parent 124)
   (unrealized (3 1) (4 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -5409,6 +5528,7 @@
   (label 128)
   (parent 125)
   (unrealized (5 0) (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -5450,6 +5570,7 @@
   (parent 125)
   (unrealized (4 1) (5 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -5492,6 +5613,7 @@
   (label 130)
   (parent 128)
   (unrealized (5 1))
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -5583,6 +5705,7 @@
   (parent 130)
   (unrealized (6 0))
   (dead)
+  (maps ((0 1) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -5635,9 +5758,9 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcrkey skey))
       (implies
-        (and (p "tpm-extend" y (idx 3)) (p "tpm-extend" z (idx 3))
-          (p "tpm-extend" "pcrkey" y pcrkey)
-          (p "tpm-extend" "pcrkey" z pcrkey))
+        (and (p "tpm-extend" z (idx 3)) (p "tpm-extend" y (idx 3))
+          (p "tpm-extend" "pcrkey" z pcrkey)
+          (p "tpm-extend" "pcrkey" y pcrkey))
         (or
           (= y z)
           (prec y (idx 2) z (idx 3))
@@ -5645,12 +5768,12 @@
   (defrule esk-same-as-pcrkey
     (forall ((y z strd) (esk pcrkey pcrkey-0 skey))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "esk" y esk)
-          (p "tpm-extend-enc" "esk" z esk)
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcrkey" z pcrkey-0)
           (p "tpm-extend-enc" "pcrkey" y pcrkey)
-          (p "tpm-extend-enc" "pcrkey" z pcrkey-0))
+          (p "tpm-extend-enc" "esk" z esk)
+          (p "tpm-extend-enc" "esk" y esk))
         (= pcrkey pcrkey-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -5677,6 +5800,7 @@
   (label 133)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -5699,6 +5823,7 @@
   (label 134)
   (parent 133)
   (unrealized (0 0) (2 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -5728,6 +5853,7 @@
   (label 135)
   (parent 134)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -5756,6 +5882,7 @@
   (label 136)
   (parent 135)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -5789,6 +5916,7 @@
   (label 137)
   (parent 136)
   (unrealized (0 0) (4 1) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -5823,6 +5951,7 @@
   (label 138)
   (parent 137)
   (unrealized (0 0) (4 2))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -5862,6 +5991,7 @@
   (label 139)
   (parent 138)
   (unrealized (0 0) (5 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -5902,6 +6032,7 @@
   (parent 138)
   (unrealized (0 0) (5 0) (5 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -5939,6 +6070,7 @@
   (parent 138)
   (unrealized (0 0) (5 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -5982,6 +6114,7 @@
   (label 142)
   (parent 139)
   (unrealized (0 0) (6 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -6024,6 +6157,7 @@
   (parent 139)
   (unrealized (0 0) (5 1) (6 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -6067,6 +6201,7 @@
   (label 144)
   (parent 142)
   (unrealized (0 0) (6 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -6113,6 +6248,7 @@
   (label 145)
   (parent 144)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -6160,6 +6296,7 @@
   (parent 144)
   (unrealized (0 0) (7 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -6212,6 +6349,7 @@
   (label 147)
   (parent 145)
   (unrealized (8 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton envelope
@@ -6269,6 +6407,7 @@
   (label 148)
   (parent 147)
   (unrealized (9 1))
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -6327,6 +6466,7 @@
   (parent 147)
   (unrealized (9 0) (9 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -6382,6 +6522,7 @@
   (parent 147)
   (unrealized (8 1) (9 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -6445,6 +6586,7 @@
   (parent 148)
   (unrealized (10 0) (10 1))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -6505,6 +6647,7 @@
   (parent 148)
   (unrealized (9 1) (10 0))
   (dead)
+  (maps ((0 1 2) ((n n) (v v) (k k) (aik aik) (esk esk))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/epmo-hash.tst b/tst/epmo-hash.tst
--- a/tst/epmo-hash.tst
+++ b/tst/epmo-hash.tst
@@ -1,7 +1,7 @@
 (herald "Electronic Purchase with Money Order Protocol with Key Hashing"
   (comment "Annotated with trust management formulas"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/epmo-hash.scm")
 
 (defprotocol epmo basic
@@ -86,6 +86,10 @@
       (send (cat (enc (hash c nc nb nm price) (privk b)) nb))))
   (label 0)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (origs (nc (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -114,6 +118,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -141,6 +149,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -173,6 +185,10 @@
   (label 3)
   (parent 2)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo
@@ -247,6 +263,10 @@
   (label 5)
   (parent 3)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -289,6 +309,10 @@
   (seen-ops
     (4 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -372,6 +396,7 @@
           (enc nc nb (pubk c)))) (recv (enc (hash b nb nm) (privk m)))))
   (label 7)
   (unrealized (0 2))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -400,6 +425,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 2))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -426,6 +452,7 @@
   (label 9)
   (parent 8)
   (unrealized (0 0) (1 2))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -463,6 +490,7 @@
   (label 10)
   (parent 9)
   (unrealized (0 0) (2 3))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo
@@ -499,6 +527,7 @@
   (label 11)
   (parent 10)
   (unrealized (0 0) (2 1))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -540,6 +569,7 @@
   (parent 10)
   (unrealized (0 0) (3 0))
   (dead)
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo
@@ -576,6 +606,7 @@
   (label 13)
   (parent 11)
   (unrealized (0 0))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -697,6 +728,10 @@
       (send (enc (hash b nb nm) (privk m)))))
   (label 15)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (origs (nm (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -723,6 +758,10 @@
   (label 16)
   (parent 15)
   (unrealized (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -753,6 +792,10 @@
   (label 17)
   (parent 16)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
diff --git a/tst/epmo-key-hash.tst b/tst/epmo-key-hash.tst
--- a/tst/epmo-key-hash.tst
+++ b/tst/epmo-key-hash.tst
@@ -1,7 +1,7 @@
 (herald "Electronic Purchase with Money Order Protocol with Key Hashing"
   (comment "Annotated with trust management formulas"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/epmo-key-hash.scm")
 
 (defprotocol epmo basic
@@ -90,6 +90,10 @@
         (cat (enc (enc "hash" (cat c nc nb nm price)) (privk b)) nb))))
   (label 0)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (origs (nc (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -119,6 +123,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -147,6 +155,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -180,6 +192,10 @@
   (label 3)
   (parent 2)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo
@@ -256,6 +272,10 @@
   (label 5)
   (parent 3)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -299,6 +319,10 @@
   (seen-ops
     (4 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -386,6 +410,7 @@
       (recv (enc (enc "hash" (cat b nb nm)) (privk m)))))
   (label 7)
   (unrealized (0 2))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -416,6 +441,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 2))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -444,6 +470,7 @@
   (label 9)
   (parent 8)
   (unrealized (0 0) (1 2))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -485,6 +512,7 @@
   (label 10)
   (parent 9)
   (unrealized (0 0) (2 3))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo
@@ -525,6 +553,7 @@
   (label 11)
   (parent 10)
   (unrealized (0 0) (2 1))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -570,6 +599,7 @@
   (parent 10)
   (unrealized (0 0) (3 0))
   (dead)
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo
@@ -610,6 +640,7 @@
   (label 13)
   (parent 11)
   (unrealized (0 0))
+  (maps ((0) ((b b) (c c) (m m) (nc nc) (nm nm) (nb nb) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -739,6 +770,10 @@
       (send (enc (enc "hash" (cat b nb nm)) (privk m)))))
   (label 15)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (origs (nm (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -766,6 +801,10 @@
   (label 16)
   (parent 15)
   (unrealized (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -797,6 +836,10 @@
   (label 17)
   (parent 16)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (nb nb) (nc nc) (nm nm) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
diff --git a/tst/epmo.tst b/tst/epmo.tst
--- a/tst/epmo.tst
+++ b/tst/epmo.tst
@@ -1,7 +1,7 @@
 (herald "Electronic Purchase with Money Order Protocol"
   (comment "Annotated with trust management formulas"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/epmo.scm")
 
 (defprotocol epmo basic
@@ -90,6 +90,10 @@
       (send (cat (enc (enc c nc nb nm price hash) (privk b)) nb))))
   (label 0)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (origs (nc (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -119,6 +123,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -146,6 +154,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -179,6 +191,10 @@
   (label 3)
   (parent 2)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo
@@ -256,6 +272,10 @@
   (label 5)
   (parent 3)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -300,6 +320,10 @@
   (seen-ops
     (4 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -388,6 +412,10 @@
       (recv (enc (enc b nb nm hash) (privk m)))))
   (label 7)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nc nc) (nm nm) (nb nb)
+        (price price))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -417,6 +445,10 @@
   (label 8)
   (parent 7)
   (unrealized (1 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nc nc) (nm nm) (nb nb)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -444,6 +476,10 @@
   (label 9)
   (parent 8)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nc nc) (nm nm) (nb nb)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -482,6 +518,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 0) (2 1))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nc nc) (nm nm) (nb nb)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -519,6 +559,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nc nc) (nm nm) (nb nb)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -648,6 +692,10 @@
       (send (enc (enc b nb nm hash) (privk m)))))
   (label 13)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (origs (nm (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -675,6 +723,10 @@
   (label 14)
   (parent 13)
   (unrealized (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
@@ -706,6 +758,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (c c) (m m) (hash hash) (nb nb) (nc nc) (nm nm)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo
diff --git a/tst/epmo_acctnum-key-hash.tst b/tst/epmo_acctnum-key-hash.tst
--- a/tst/epmo_acctnum-key-hash.tst
+++ b/tst/epmo_acctnum-key-hash.tst
@@ -2,7 +2,7 @@
   "Electronic Purchase with Money Order Protocol Variant with Key Hashing"
   (comment "This version includes account numbers in exchanges"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/epmo_acctnum-key-hash.scm")
 
 (defprotocol epmo_acctnum basic
@@ -96,6 +96,10 @@
       (send (enc (enc "hash" (cat b m nb nm)) (privk m)))))
   (label 0)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (origs (nm (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -124,6 +128,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -157,6 +165,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -190,6 +202,10 @@
   (label 3)
   (parent 2)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -222,6 +238,10 @@
   (label 4)
   (parent 3)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -260,6 +280,10 @@
   (label 5)
   (parent 3)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -340,6 +364,10 @@
   (label 7)
   (parent 5)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (goods goods)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -386,6 +414,10 @@
   (seen-ops
     (6 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm-0) (nc nc) (nb nb) (goods goods)
+        (price price-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -481,6 +513,10 @@
       (recv (enc (enc "hash" (cat b m nb nm)) (privk m)))))
   (label 9)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -511,6 +547,10 @@
   (label 10)
   (parent 9)
   (unrealized (1 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -539,6 +579,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -581,6 +625,10 @@
   (label 12)
   (parent 11)
   (unrealized (0 0) (2 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -621,6 +669,10 @@
   (label 13)
   (parent 12)
   (unrealized (0 0) (2 1))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -661,6 +713,10 @@
   (label 14)
   (parent 13)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -700,6 +756,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -745,6 +805,10 @@
   (label 16)
   (parent 14)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -784,6 +848,10 @@
   (label 17)
   (parent 15)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -828,6 +896,10 @@
   (label 18)
   (parent 16)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -916,6 +988,10 @@
   (label 20)
   (parent 18)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -962,6 +1038,10 @@
   (seen-ops
     (19 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (acctnum acctnum)
+        (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/epmo_acctnum.tst b/tst/epmo_acctnum.tst
--- a/tst/epmo_acctnum.tst
+++ b/tst/epmo_acctnum.tst
@@ -2,7 +2,7 @@
   (bound 12) (limit 5000)
   (comment "This version includes account numbers in exchanges"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/epmo_acctnum.lsp")
 (comment "Step count limited to 5000")
 
@@ -102,6 +102,10 @@
       (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
   (label 0)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (origs (nm (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -131,6 +135,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -165,6 +173,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -199,6 +211,10 @@
   (label 3)
   (parent 2)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -243,6 +259,10 @@
   (label 4)
   (parent 2)
   (unrealized (0 0) (0 2) (1 0) (3 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -276,6 +296,10 @@
   (label 5)
   (parent 3)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -315,6 +339,10 @@
   (label 6)
   (parent 3)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -358,6 +386,10 @@
   (label 7)
   (parent 4)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -442,6 +474,10 @@
   (label 9)
   (parent 6)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -485,6 +521,10 @@
   (label 10)
   (parent 7)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -530,6 +570,10 @@
   (label 11)
   (parent 7)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -587,6 +631,10 @@
       (operation nonce-test (displaced 5 2 customer 3) nm (4 0)
         (enc nc nm m price (pubk c))) (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -635,6 +683,10 @@
   (seen-ops
     (8 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -677,6 +729,10 @@
   (label 14)
   (parent 10)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -723,6 +779,10 @@
   (label 15)
   (parent 10)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -767,6 +827,10 @@
   (label 16)
   (parent 11)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -819,6 +883,10 @@
   (label 17)
   (parent 11)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -872,6 +940,10 @@
   (label 18)
   (parent 11)
   (unrealized (0 0) (0 2) (1 0) (3 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -923,6 +995,10 @@
   (seen-ops
     (8 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -969,6 +1045,10 @@
   (label 20)
   (parent 15)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1010,6 +1090,10 @@
   (label 21)
   (parent 16)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1056,6 +1140,10 @@
   (label 22)
   (parent 16)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1115,6 +1203,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1167,6 +1259,10 @@
   (label 24)
   (parent 18)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1227,6 +1323,10 @@
   (label 25)
   (parent 18)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1282,6 +1382,10 @@
   (seen-ops
     (13 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1332,6 +1436,10 @@
   (seen-ops
     (8 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1378,6 +1486,10 @@
   (label 28)
   (parent 22)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1430,6 +1542,10 @@
   (label 29)
   (parent 24)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1491,6 +1607,10 @@
   (label 30)
   (parent 24)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1550,6 +1670,10 @@
   (label 31)
   (parent 24)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1609,6 +1733,10 @@
   (label 32)
   (parent 25)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1664,6 +1792,10 @@
   (seen-ops
     (13 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1714,6 +1846,10 @@
   (parent 29)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -1768,6 +1904,10 @@
   (label 35)
   (parent 29)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1826,6 +1966,10 @@
   (label 36)
   (parent 30)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1888,6 +2032,10 @@
       (operation nonce-test (displaced 5 4 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -1960,6 +2108,10 @@
       (operation nonce-test (displaced 6 3 customer 3) nb-0 (5 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0) (0 2) (1 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2019,6 +2171,10 @@
   (label 39)
   (parent 32)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2087,6 +2243,10 @@
         (enc c nc nb-0 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 2)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2155,6 +2315,10 @@
   (label 41)
   (parent 32)
   (unrealized (0 0) (0 2) (1 0) (4 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2210,6 +2374,10 @@
   (parent 35)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -2272,6 +2440,10 @@
   (label 43)
   (parent 36)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2348,6 +2520,10 @@
       (operation nonce-test (displaced 6 3 customer 3) nb-0 (5 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 4)))
   (unrealized (0 0) (0 2) (1 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2416,6 +2592,10 @@
   (label 45)
   (parent 36)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2471,6 +2651,10 @@
   (parent 37)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -2531,6 +2715,10 @@
   (label 47)
   (parent 37)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2590,6 +2778,10 @@
   (label 48)
   (parent 39)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2659,6 +2851,10 @@
   (label 49)
   (parent 39)
   (unrealized (0 0) (0 2) (1 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2726,6 +2922,10 @@
   (label 50)
   (parent 39)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2793,6 +2993,10 @@
   (label 51)
   (parent 41)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2852,6 +3056,10 @@
   (parent 43)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -2915,6 +3123,10 @@
   (label 53)
   (parent 43)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -2987,6 +3199,10 @@
       (operation nonce-test (displaced 6 5 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3068,6 +3284,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 4)))
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3128,6 +3348,10 @@
   (parent 47)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -3191,6 +3415,10 @@
   (label 57)
   (parent 47)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3248,6 +3476,10 @@
   (parent 48)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -3310,6 +3542,10 @@
   (label 59)
   (parent 48)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3376,6 +3612,10 @@
   (label 60)
   (parent 49)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3446,6 +3686,10 @@
       (operation nonce-test (displaced 6 5 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3525,6 +3769,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3594,6 +3842,10 @@
   (label 63)
   (parent 51)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3662,6 +3914,10 @@
   (label 64)
   (parent 51)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3731,6 +3987,10 @@
   (label 65)
   (parent 51)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3812,6 +4072,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -3876,6 +4140,10 @@
   (parent 53)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -3940,6 +4208,10 @@
   (parent 54)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -4008,6 +4280,10 @@
   (label 69)
   (parent 54)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4073,6 +4349,10 @@
   (parent 57)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -4136,6 +4416,10 @@
   (parent 59)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -4206,6 +4490,10 @@
   (label 72)
   (parent 60)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4289,6 +4577,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4364,6 +4656,10 @@
   (label 74)
   (parent 60)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4427,6 +4723,10 @@
   (parent 61)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -4494,6 +4794,10 @@
   (label 76)
   (parent 61)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4562,6 +4866,10 @@
   (label 77)
   (parent 63)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4631,6 +4939,10 @@
   (label 78)
   (parent 63)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4707,6 +5019,10 @@
   (label 79)
   (parent 63)
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4777,6 +5093,10 @@
   (label 80)
   (parent 64)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4855,6 +5175,10 @@
   (label 81)
   (parent 64)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4930,6 +5254,10 @@
   (label 82)
   (parent 64)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -4999,6 +5327,10 @@
   (label 83)
   (parent 65)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5081,6 +5413,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5150,6 +5486,10 @@
   (parent 69)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -5221,6 +5561,10 @@
   (label 86)
   (parent 69)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5288,6 +5632,10 @@
   (parent 72)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -5358,6 +5706,10 @@
   (label 88)
   (parent 72)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5437,6 +5789,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5526,6 +5882,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 5)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5593,6 +5953,10 @@
   (parent 76)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -5663,6 +6027,10 @@
   (label 92)
   (parent 76)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5732,6 +6100,10 @@
   (label 93)
   (parent 77)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5809,6 +6181,10 @@
   (label 94)
   (parent 77)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5884,6 +6260,10 @@
   (label 95)
   (parent 77)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -5953,6 +6333,10 @@
   (label 96)
   (parent 78)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6030,6 +6414,10 @@
   (label 97)
   (parent 78)
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6113,6 +6501,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6180,6 +6572,10 @@
   (parent 80)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -6250,6 +6646,10 @@
   (label 100)
   (parent 80)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6324,6 +6724,10 @@
   (label 101)
   (parent 81)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6403,6 +6807,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6492,6 +6900,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6562,6 +6974,10 @@
   (label 104)
   (parent 83)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6640,6 +7056,10 @@
   (label 105)
   (parent 83)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6715,6 +7135,10 @@
   (label 106)
   (parent 83)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -6788,6 +7212,10 @@
   (parent 86)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -6859,6 +7287,10 @@
   (parent 88)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -6930,6 +7362,10 @@
   (parent 89)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -7006,6 +7442,10 @@
   (label 110)
   (parent 89)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7078,6 +7518,10 @@
   (parent 92)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -7145,6 +7589,10 @@
   (parent 93)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -7215,6 +7663,10 @@
   (label 113)
   (parent 93)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7288,6 +7740,10 @@
   (label 114)
   (parent 94)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7367,6 +7823,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7455,6 +7915,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7524,6 +7988,10 @@
   (label 117)
   (parent 96)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7601,6 +8069,10 @@
   (label 118)
   (parent 96)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7676,6 +8148,10 @@
   (label 119)
   (parent 96)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7760,6 +8236,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -7831,6 +8311,10 @@
   (parent 100)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -7909,6 +8393,10 @@
   (label 122)
   (parent 101)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8001,6 +8489,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8085,6 +8577,10 @@
   (label 124)
   (parent 101)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8156,6 +8652,10 @@
   (parent 102)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -8231,6 +8731,10 @@
   (label 126)
   (parent 102)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8298,6 +8802,10 @@
   (parent 104)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -8368,6 +8876,10 @@
   (label 128)
   (parent 104)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8442,6 +8954,10 @@
   (label 129)
   (parent 105)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8521,6 +9037,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8610,6 +9130,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8687,6 +9211,10 @@
   (parent 110)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -8766,6 +9294,10 @@
   (label 133)
   (parent 110)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -8837,6 +9369,10 @@
   (parent 113)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -8915,6 +9451,10 @@
   (label 135)
   (parent 114)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9007,6 +9547,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9091,6 +9635,10 @@
   (label 137)
   (parent 114)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9162,6 +9710,10 @@
   (parent 115)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -9237,6 +9789,10 @@
   (label 139)
   (parent 115)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9304,6 +9860,10 @@
   (parent 117)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -9374,6 +9934,10 @@
   (label 141)
   (parent 117)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9447,6 +10011,10 @@
   (label 142)
   (parent 118)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9526,6 +10094,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9614,6 +10186,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9688,6 +10264,10 @@
   (parent 122)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -9766,6 +10346,10 @@
   (label 146)
   (parent 122)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9855,6 +10439,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -9953,6 +10541,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10029,6 +10621,10 @@
   (parent 126)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -10107,6 +10703,10 @@
   (label 150)
   (parent 126)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10178,6 +10778,10 @@
   (parent 128)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -10256,6 +10860,10 @@
   (label 152)
   (parent 129)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10348,6 +10956,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10432,6 +11044,10 @@
   (label 154)
   (parent 129)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10503,6 +11119,10 @@
   (parent 130)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -10578,6 +11198,10 @@
   (label 156)
   (parent 130)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10659,6 +11283,10 @@
   (parent 133)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -10733,6 +11361,10 @@
   (parent 135)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -10810,6 +11442,10 @@
   (label 159)
   (parent 135)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10898,6 +11534,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -10995,6 +11635,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11070,6 +11714,10 @@
   (parent 139)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -11148,6 +11796,10 @@
   (label 163)
   (parent 139)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11219,6 +11871,10 @@
   (parent 141)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -11297,6 +11953,10 @@
   (label 165)
   (parent 142)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11389,6 +12049,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11473,6 +12137,10 @@
   (label 167)
   (parent 142)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11544,6 +12212,10 @@
   (parent 143)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -11619,6 +12291,10 @@
   (label 169)
   (parent 143)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11697,6 +12373,10 @@
   (parent 146)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -11776,6 +12456,10 @@
   (parent 147)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -11859,6 +12543,10 @@
   (label 172)
   (parent 147)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -11939,6 +12627,10 @@
   (parent 150)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12013,6 +12705,10 @@
   (parent 152)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12091,6 +12787,10 @@
   (label 175)
   (parent 152)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -12180,6 +12880,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -12278,6 +12982,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -12354,6 +13062,10 @@
   (parent 156)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12432,6 +13144,10 @@
   (label 179)
   (parent 156)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -12510,6 +13226,10 @@
   (parent 159)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12589,6 +13309,10 @@
   (parent 160)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12672,6 +13396,10 @@
   (label 182)
   (parent 160)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -12752,6 +13480,10 @@
   (parent 163)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12826,6 +13558,10 @@
   (parent 165)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -12903,6 +13639,10 @@
   (label 185)
   (parent 165)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -12991,6 +13731,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -13088,6 +13832,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -13163,6 +13911,10 @@
   (parent 169)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -13241,6 +13993,10 @@
   (label 189)
   (parent 169)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -13325,6 +14081,10 @@
   (parent 172)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -13411,6 +14171,10 @@
   (label 191)
   (parent 172)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -13489,6 +14253,10 @@
   (parent 175)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -13568,6 +14336,10 @@
   (parent 176)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -13651,6 +14423,10 @@
   (label 194)
   (parent 176)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -13731,6 +14507,10 @@
   (parent 179)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -13815,6 +14595,10 @@
   (parent 182)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -13901,6 +14685,10 @@
   (label 197)
   (parent 182)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -13979,6 +14767,10 @@
   (parent 185)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14058,6 +14850,10 @@
   (parent 186)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14141,6 +14937,10 @@
   (label 200)
   (parent 186)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -14221,6 +15021,10 @@
   (parent 189)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14310,6 +15114,10 @@
   (parent 191)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14394,6 +15202,10 @@
   (parent 194)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14480,6 +15292,10 @@
   (label 204)
   (parent 194)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -14568,6 +15384,10 @@
   (parent 197)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14652,6 +15472,10 @@
   (parent 200)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14738,6 +15562,10 @@
   (label 207)
   (parent 200)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -14827,6 +15655,10 @@
   (parent 204)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton epmo_acctnum
@@ -14915,6 +15747,10 @@
   (parent 207)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc price-0) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -15014,6 +15850,10 @@
       (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
   (label 210)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -15046,6 +15886,10 @@
   (label 211)
   (parent 210)
   (unrealized (1 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15076,6 +15920,10 @@
   (label 212)
   (parent 211)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15118,6 +15966,10 @@
   (label 213)
   (parent 212)
   (unrealized (0 0) (2 1) (2 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15160,6 +16012,10 @@
   (label 214)
   (parent 213)
   (unrealized (0 0) (1 0) (2 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15202,6 +16058,10 @@
   (label 215)
   (parent 214)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15243,6 +16103,10 @@
   (label 216)
   (parent 215)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15290,6 +16154,10 @@
   (label 217)
   (parent 215)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15331,6 +16199,10 @@
   (label 218)
   (parent 216)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15377,6 +16249,10 @@
   (label 219)
   (parent 217)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15472,6 +16348,10 @@
   (label 221)
   (parent 218)
   (unrealized (0 0) (3 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15518,6 +16398,10 @@
   (label 222)
   (parent 219)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15567,6 +16451,10 @@
   (label 223)
   (parent 221)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15616,6 +16504,10 @@
   (seen-ops
     (220 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15670,6 +16562,10 @@
   (label 225)
   (parent 222)
   (unrealized (0 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15723,6 +16619,10 @@
   (seen-ops
     (220 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15773,6 +16673,10 @@
   (label 227)
   (parent 223)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15837,6 +16741,10 @@
       (operation nonce-test (displaced 5 2 customer 3) nm (4 0)
         (enc nc nm m price (pubk c))) (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15890,6 +16798,10 @@
   (label 229)
   (parent 225)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -15943,6 +16855,10 @@
   (seen-ops
     (220 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16003,6 +16919,10 @@
   (label 231)
   (parent 227)
   (unrealized (0 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16060,6 +16980,10 @@
   (seen-ops
     (226 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16115,6 +17039,10 @@
   (label 233)
   (parent 229)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16184,6 +17112,10 @@
       (operation nonce-test (displaced 6 2 customer 3) nm (5 0)
         (enc nc nm m price (pubk c))) (strand-map 0 1 2 3 4 4)))
   (unrealized (0 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16251,6 +17183,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b)))
       (strand-map 0 1 2 3 3)))
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16309,6 +17245,10 @@
   (seen-ops
     (230 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16373,6 +17313,10 @@
   (label 237)
   (parent 233)
   (unrealized (0 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton epmo_acctnum
@@ -16444,6 +17388,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b)))
       (strand-map 0 1 2 3 4 4)))
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/expand.tst b/tst/expand.tst
--- a/tst/expand.tst
+++ b/tst/expand.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "Expanded macros")
 
 (herald expand (expand) (comment "test macro expansion"))
diff --git a/tst/facts.tst b/tst/facts.tst
--- a/tst/facts.tst
+++ b/tst/facts.tst
@@ -1,6 +1,6 @@
 (herald facts)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/facts.scm")
 
 (defprotocol unilateral basic
@@ -27,6 +27,7 @@
   (traces ((send (enc n k)) (recv n)))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((k k) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -73,6 +74,7 @@
   (traces ((recv (enc n k)) (send n)))
   (label 2)
   (unrealized (0 0))
+  (maps ((0) ((n n) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -116,7 +118,7 @@
   (defstrand init 2 (n n) (k k))
   (non-orig (invk k))
   (uniq-orig n)
-  (facts (foo 0 k) (bar 0 (invk k)))
+  (facts (bar 0 (invk k)) (foo 0 k))
   (goals
     (forall ((n text) (k akey) (z strd))
       (implies
@@ -129,6 +131,7 @@
   (traces ((send (enc n k)) (recv n)))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((n n) (k k))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -139,7 +142,16 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk k))
   (uniq-orig n)
-  (facts (foo 0 k) (bar 0 (invk k)))
+  (facts (bar 0 (invk k)) (foo 0 k))
+  (goals
+    (forall ((n text) (k akey) (z strd))
+      (implies
+        (and (p "init" z 2) (p "init" "n" z n) (p "init" "k" z k)
+          (non (invk k)) (uniq-at n z 0) (fact foo z k)
+          (fact bar z (invk k)))
+        (exists ((z-0 strd))
+          (and (p "resp" z-0 2) (p "resp" "n" z-0 n)
+            (p "resp" "k" z-0 k) (prec z 0 z-0 0) (prec z-0 1 z 1))))))
   (operation nonce-test (added-strand resp 2) n (0 1) (enc n k))
   (strand-map 0)
   (traces ((send (enc n k)) (recv n)) ((recv (enc n k)) (send n)))
@@ -185,6 +197,7 @@
   (traces ((recv (enc n k)) (send n)))
   (label 6)
   (unrealized (0 0))
+  (maps ((0) ((n n) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -196,6 +209,15 @@
   (non-orig (invk k))
   (pen-non-orig n)
   (uniq-orig n)
+  (goals
+    (forall ((n text) (k akey) (z strd))
+      (implies
+        (and (p "resp" z 2) (p "resp" "n" z n) (p "resp" "k" z k)
+          (non (invk k)) (pnon n))
+        (exists ((k-0 akey) (z-0 strd))
+          (and (p "init" z-0 1) (p "init" "n" z-0 n)
+            (p "init" "k" z-0 k-0) (prec z-0 0 z 0)
+            (uniq-at n z-0 0))))))
   (operation nonce-test (added-strand init 1) n (0 0))
   (strand-map 0)
   (traces ((recv (enc n k)) (send n)) ((send (enc n k-0))))
@@ -238,6 +260,7 @@
       (recv (cat na nb b t3 (enc na nb b t2 (privk b))))))
   (label 8)
   (unrealized (0 1))
+  (maps ((0) ((b b) (na na) (nb nb) (t1 t1) (t2 t2) (t3 t3))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -298,6 +321,7 @@
       (recv (cat na nb b t3 (enc na nb b t2 (privk b))))))
   (label 10)
   (unrealized (0 1))
+  (maps ((0) ((b b) (na na) (nb nb) (t1 t1) (t2 t2) (t3 t3))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -308,6 +332,10 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig na nb)
+  (goals
+    (forall ((b name) (z strd))
+      (implies (and (p "init" z 2) (p "init" "b" z b) (non (privk b)))
+        (exists ((y strd)) (and (p "resp" y 2) (p "resp" "b" y b))))))
   (operation encryption-test (added-strand resp 2)
     (enc na nb b t2 (privk b)) (0 1))
   (strand-map 0)
@@ -359,6 +387,7 @@
       (recv (cat na nb b t3 (enc na nb b t2 (privk b))))))
   (label 12)
   (unrealized (0 1))
+  (maps ((0) ((b b) (na na) (nb nb) (t1 t1) (t2 t2) (t3 t3))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -369,6 +398,10 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig na nb)
+  (goals
+    (forall ((b name) (z strd))
+      (implies (and (p "init" z 2) (p "init" "b" z b) (non (privk b)))
+        (false))))
   (operation encryption-test (added-strand resp 2)
     (enc na nb b t2 (privk b)) (0 1))
   (strand-map 0)
diff --git a/tst/factvar.tst b/tst/factvar.tst
--- a/tst/factvar.tst
+++ b/tst/factvar.tst
@@ -1,6 +1,6 @@
 (herald factvar)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/factvar.scm")
 
 (defprotocol free-fact-var basic
@@ -26,6 +26,7 @@
   (traces ((recv (enc n k))))
   (label 0)
   (realized)
+  (maps ((0) ((k k) (n n))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -69,6 +70,7 @@
   (traces ((recv (enc n k))))
   (label 2)
   (unrealized (0 0))
+  (maps ((0) ((n n) (k k))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -84,6 +86,7 @@
   (parent 2)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((n n) (k k))))
   (origs)
   (comment "empty cohort"))
 
diff --git a/tst/ffgg.tst b/tst/ffgg.tst
--- a/tst/ffgg.tst
+++ b/tst/ffgg.tst
@@ -1,7 +1,7 @@
 (herald "The ffgg Protocol"
   (comment "From A Necessarily Parallel Attack by Jon K. Millen"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ffgg.scm")
 
 (defprotocol ffgg basic
@@ -35,6 +35,7 @@
   (label 0)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((b b) (m m) (a a) (n1 n1) (n2 n2) (x x) (y y))))
   (origs (m (0 2)))
   (comment "Not a skeleton"))
 
@@ -51,6 +52,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0 1) ((b b) (m m) (a a) (n1 n1) (n2 n2) (x x) (y y))))
   (origs (m (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -74,6 +76,7 @@
   (label 2)
   (parent 1)
   (unrealized (1 0))
+  (maps ((0 1) ((b b) (m m) (a a) (n1 n1) (n2 n2) (x x) (y y))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ffgg
@@ -101,6 +104,7 @@
   (label 3)
   (parent 2)
   (unrealized (3 2))
+  (maps ((0 1) ((b b) (m m) (a a) (n1 n1) (n2 n2) (x x) (y y))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ffgg
diff --git a/tst/fluffy_draft03_gske.tst b/tst/fluffy_draft03_gske.tst
--- a/tst/fluffy_draft03_gske.tst
+++ b/tst/fluffy_draft03_gske.tst
@@ -3,7 +3,7 @@
   (comment
     "Based on the Internet-Draft: https://www.ietf.org/archive/id/draft-hardjono-ace-fluffy-03.txt"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/fluffy_draft03_gske.scm")
 
 (defprotocol fluffy basic
@@ -40,6 +40,7 @@
       (recv (cat "resp" b (enc s g nb gk (ltk s b))))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((b b) (s s) (nb nb) (gk gk) (g g))))
   (origs (nb (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -52,6 +53,7 @@
   (non-orig (ltk s b))
   (uniq-orig nb)
   (uniq-gen gk)
+  (comment "Service Principal's point-of-view")
   (operation encryption-test (added-strand keyserv 4)
     (enc s g nb gk (ltk s b)) (0 1))
   (strand-map 0)
@@ -78,6 +80,7 @@
   (non-orig (ltk s b))
   (uniq-orig nb)
   (uniq-gen gk)
+  (comment "Service Principal's point-of-view")
   (operation encryption-test (added-strand keyserv 2)
     (enc s g nb gk (ltk s b)) (0 1))
   (strand-map 0)
@@ -132,6 +135,7 @@
       (send (cat "deliver" a (enc s g na gk (ltk s a))))))
   (label 3)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((a a) (b b) (s s) (nb nb) (na na) (gk gk) (g g))))
   (origs)
   (ugens (gk (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -143,6 +147,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand sp 1) (enc b nb (ltk s b))
     (0 0))
   (strand-map 0)
@@ -155,6 +160,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (s s) (nb nb) (na na) (gk gk) (g g))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fluffy
@@ -164,6 +170,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand client 1)
     (enc b nb (ltk s b)) (0 0))
   (strand-map 0)
@@ -176,6 +183,7 @@
   (label 5)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (s s) (nb nb) (na na) (gk gk) (g g))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fluffy
@@ -185,6 +193,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (displaced 2 1 sp 1) (enc a na (ltk s a))
     (0 2))
   (strand-map 0 1)
@@ -210,6 +219,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 2)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand sp 1) (enc a na (ltk s a))
     (0 2))
   (strand-map 0 1)
@@ -236,6 +246,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 2)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand client 1)
     (enc a na (ltk s a)) (0 2))
   (strand-map 0 1)
@@ -262,6 +273,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 2)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand sp 1) (enc a na (ltk s a))
     (0 2))
   (strand-map 0 1)
@@ -287,6 +299,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (displaced 2 1 client 1)
     (enc a na (ltk s a)) (0 2))
   (strand-map 0 1)
@@ -312,6 +325,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 2)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand client 1)
     (enc a na (ltk s a)) (0 2))
   (strand-map 0 1)
@@ -366,6 +380,7 @@
       (recv (cat "deliver" a (enc s g na gk (ltk s a))))))
   (label 12)
   (unrealized (0 1))
+  (maps ((0) ((a a) (s s) (na na) (gk gk) (g g))))
   (origs (na (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -377,6 +392,7 @@
   (non-orig (ltk s a))
   (uniq-orig na)
   (uniq-gen gk)
+  (comment "Clients's point-of-view")
   (operation encryption-test (added-strand keyserv 4)
     (enc s g na gk (ltk s a)) (0 1))
   (strand-map 0)
@@ -403,6 +419,7 @@
   (non-orig (ltk s a))
   (uniq-orig na)
   (uniq-gen gk)
+  (comment "Clients's point-of-view")
   (operation encryption-test (added-strand keyserv 2)
     (enc s g na gk (ltk s a)) (0 1))
   (strand-map 0)
@@ -440,16 +457,16 @@
   (defrule client-no-request
     (forall ((a s name) (y z strd))
       (implies
-        (and (p "client" z (idx 1)) (p "client" "s" z s)
-          (p "client" "a" z a) (p "keyserv" y (idx 1))
-          (p "keyserv" "s" y s) (p "keyserv" "b" y a))
+        (and (p "keyserv" y (idx 1)) (p "client" z (idx 1))
+          (p "keyserv" "b" y a) (p "keyserv" "s" y s)
+          (p "client" "a" z a) (p "client" "s" z s))
         (false))))
   (defrule sp-no-fetch
     (forall ((b s name) (y z strd))
       (implies
-        (and (p "sp" z (idx 1)) (p "sp" "s" z s) (p "sp" "b" z b)
-          (p "keyserv" y (idx 3)) (p "keyserv" "s" y s)
-          (p "keyserv" "a" y b))
+        (and (p "keyserv" y (idx 3)) (p "sp" z (idx 1))
+          (p "keyserv" "a" y b) (p "keyserv" "s" y s) (p "sp" "b" z b)
+          (p "sp" "s" z s))
         (false))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -469,6 +486,7 @@
       (recv (cat "resp" b (enc s g nb gk (ltk s b))))))
   (label 15)
   (unrealized (0 1))
+  (maps ((0) ((b b) (s s) (nb nb) (gk gk) (g g))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -480,6 +498,7 @@
   (non-orig (ltk s b))
   (uniq-orig nb)
   (uniq-gen gk)
+  (comment "Service Principal's point-of-view")
   (operation encryption-test (added-strand keyserv 2)
     (enc s g nb gk (ltk s b)) (0 1))
   (strand-map 0)
@@ -517,16 +536,16 @@
   (defrule client-no-request
     (forall ((a s name) (y z strd))
       (implies
-        (and (p "client" z (idx 1)) (p "client" "s" z s)
-          (p "client" "a" z a) (p "keyserv" y (idx 1))
-          (p "keyserv" "s" y s) (p "keyserv" "b" y a))
+        (and (p "keyserv" y (idx 1)) (p "client" z (idx 1))
+          (p "keyserv" "b" y a) (p "keyserv" "s" y s)
+          (p "client" "a" z a) (p "client" "s" z s))
         (false))))
   (defrule sp-no-fetch
     (forall ((b s name) (y z strd))
       (implies
-        (and (p "sp" z (idx 1)) (p "sp" "s" z s) (p "sp" "b" z b)
-          (p "keyserv" y (idx 3)) (p "keyserv" "s" y s)
-          (p "keyserv" "a" y b))
+        (and (p "keyserv" y (idx 3)) (p "sp" z (idx 1))
+          (p "keyserv" "a" y b) (p "keyserv" "s" y s) (p "sp" "b" z b)
+          (p "sp" "s" z s))
         (false))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -548,6 +567,7 @@
       (send (cat "deliver" a (enc s g na gk (ltk s a))))))
   (label 17)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((a a) (b b) (s s) (nb nb) (na na) (gk gk) (g g))))
   (origs)
   (ugens (gk (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -559,6 +579,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand sp 1) (enc b nb (ltk s b))
     (0 0))
   (strand-map 0)
@@ -571,6 +592,7 @@
   (label 18)
   (parent 17)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (s s) (nb nb) (na na) (gk gk) (g g))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fluffy-rule
@@ -581,6 +603,7 @@
   (precedes ((1 0) (0 0)) ((2 0) (0 2)))
   (non-orig (ltk s a) (ltk s b))
   (uniq-gen gk)
+  (comment "SKDC's point-of-view")
   (operation encryption-test (added-strand client 1)
     (enc a na (ltk s a)) (0 2))
   (strand-map 0 1)
@@ -620,16 +643,16 @@
   (defrule client-no-request
     (forall ((a s name) (y z strd))
       (implies
-        (and (p "client" z (idx 1)) (p "client" "s" z s)
-          (p "client" "a" z a) (p "keyserv" y (idx 1))
-          (p "keyserv" "s" y s) (p "keyserv" "b" y a))
+        (and (p "keyserv" y (idx 1)) (p "client" z (idx 1))
+          (p "keyserv" "b" y a) (p "keyserv" "s" y s)
+          (p "client" "a" z a) (p "client" "s" z s))
         (false))))
   (defrule sp-no-fetch
     (forall ((b s name) (y z strd))
       (implies
-        (and (p "sp" z (idx 1)) (p "sp" "s" z s) (p "sp" "b" z b)
-          (p "keyserv" y (idx 3)) (p "keyserv" "s" y s)
-          (p "keyserv" "a" y b))
+        (and (p "keyserv" y (idx 3)) (p "sp" z (idx 1))
+          (p "keyserv" "a" y b) (p "keyserv" "s" y s) (p "sp" "b" z b)
+          (p "sp" "s" z s))
         (false))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -649,6 +672,7 @@
       (recv (cat "deliver" a (enc s g na gk (ltk s a))))))
   (label 20)
   (unrealized (0 1))
+  (maps ((0) ((a a) (s s) (na na) (gk gk) (g g))))
   (origs (na (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -660,6 +684,7 @@
   (non-orig (ltk s a))
   (uniq-orig na)
   (uniq-gen gk)
+  (comment "Clients's point-of-view")
   (operation encryption-test (added-strand keyserv 4)
     (enc s g na gk (ltk s a)) (0 1))
   (strand-map 0)
diff --git a/tst/fragile_pruning.tst b/tst/fragile_pruning.tst
--- a/tst/fragile_pruning.tst
+++ b/tst/fragile_pruning.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/fragile_pruning.scm")
 
 (defprotocol fragile_pruning basic
@@ -34,6 +34,7 @@
       (recv (enc n n1 n2 n3 n k))))
   (label 0)
   (unrealized (0 1) (0 2) (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -54,6 +55,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (0 2) (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 n1) (n2 n2) (n3 n3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -74,6 +76,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 2) (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 n2) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -94,6 +97,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -116,6 +120,7 @@
   (label 4)
   (parent 2)
   (unrealized (0 2) (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 n2) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -136,6 +141,7 @@
   (label 5)
   (parent 3)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -158,6 +164,7 @@
   (label 6)
   (parent 3)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -180,6 +187,7 @@
   (label 7)
   (parent 4)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 n3))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -202,6 +210,7 @@
   (label 8)
   (parent 4)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 n3))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -224,6 +233,7 @@
   (label 9)
   (parent 5)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -246,6 +256,7 @@
   (label 10)
   (parent 5)
   (unrealized (2 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -268,6 +279,7 @@
   (label 11)
   (parent 6)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -290,6 +302,7 @@
   (label 12)
   (parent 6)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -312,6 +325,7 @@
   (label 13)
   (parent 7)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -334,6 +348,7 @@
   (label 14)
   (parent 7)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -359,6 +374,7 @@
   (label 15)
   (parent 7)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 n3))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -381,6 +397,7 @@
   (label 16)
   (parent 8)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -403,6 +420,7 @@
   (label 17)
   (parent 8)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -428,6 +446,7 @@
   (label 18)
   (parent 8)
   (unrealized (0 3) (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 n3))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -458,6 +477,7 @@
       (operation nonce-test (displaced 4 2 adder 2) n (3 0) (enc n k)
         (enc n new k)) (strand-map 0 1 2 3)))
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -507,6 +527,7 @@
   (label 21)
   (parent 10)
   (unrealized (2 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -532,6 +553,7 @@
   (label 22)
   (parent 11)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -557,6 +579,7 @@
   (label 23)
   (parent 11)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -582,6 +605,7 @@
   (label 24)
   (parent 12)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -607,6 +631,7 @@
   (label 25)
   (parent 12)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -632,6 +657,7 @@
   (label 26)
   (parent 13)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -657,6 +683,7 @@
   (label 27)
   (parent 13)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -682,6 +709,7 @@
   (label 28)
   (parent 14)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -707,6 +735,7 @@
   (label 29)
   (parent 14)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -732,6 +761,7 @@
   (label 30)
   (parent 15)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -757,6 +787,7 @@
   (label 31)
   (parent 15)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -782,6 +813,7 @@
   (label 32)
   (parent 15)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -807,6 +839,7 @@
   (label 33)
   (parent 16)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -832,6 +865,7 @@
   (label 34)
   (parent 16)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -857,6 +891,7 @@
   (label 35)
   (parent 17)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -883,6 +918,7 @@
   (label 36)
   (parent 17)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -908,6 +944,7 @@
   (label 37)
   (parent 18)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -933,6 +970,7 @@
   (label 38)
   (parent 18)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -958,6 +996,7 @@
   (label 39)
   (parent 18)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -986,6 +1025,7 @@
   (seen-ops
     (20 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1013,6 +1053,7 @@
   (label 41)
   (parent 19)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1041,6 +1082,7 @@
   (seen-ops
     (20 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1073,6 +1115,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1098,6 +1141,7 @@
   (label 44)
   (parent 23)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1130,6 +1174,7 @@
       (operation nonce-test (displaced 5 2 adder 2) n (3 0) (enc n k)
         (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4)))
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1164,6 +1209,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1219,6 +1265,7 @@
   (label 48)
   (parent 25)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1251,6 +1298,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1276,6 +1324,7 @@
   (label 50)
   (parent 27)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1308,6 +1357,7 @@
       (operation nonce-test (displaced 5 2 adder 2) n (3 0) (enc n k)
         (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4)))
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1342,6 +1392,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1371,6 +1422,7 @@
     (47 (operation generalization weakened ((2 1) (0 2)))
       (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1399,6 +1451,7 @@
   (label 54)
   (parent 29)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1426,6 +1479,7 @@
   (label 55)
   (parent 30)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1453,6 +1507,7 @@
   (label 56)
   (parent 30)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1481,6 +1536,7 @@
   (label 57)
   (parent 31)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1510,6 +1566,7 @@
   (label 58)
   (parent 31)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1538,6 +1595,7 @@
   (label 59)
   (parent 32)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1567,6 +1625,7 @@
   (label 60)
   (parent 32)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1601,6 +1660,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1656,6 +1716,7 @@
   (label 63)
   (parent 34)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1691,6 +1752,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1748,6 +1810,7 @@
   (label 66)
   (parent 36)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1776,6 +1839,7 @@
   (label 67)
   (parent 37)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1805,6 +1869,7 @@
   (label 68)
   (parent 37)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1833,6 +1898,7 @@
   (label 69)
   (parent 38)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1863,6 +1929,7 @@
   (label 70)
   (parent 38)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1891,6 +1958,7 @@
   (label 71)
   (parent 39)
   (unrealized (0 5))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1921,6 +1989,7 @@
   (label 72)
   (parent 39)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1951,6 +2020,7 @@
   (seen-ops
     (42 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -1984,6 +2054,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2019,6 +2090,7 @@
       (operation nonce-test (displaced 6 2 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-2 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2047,6 +2119,7 @@
   (seen-ops
     (20 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2075,6 +2148,7 @@
   (label 77)
   (parent 44)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2105,6 +2179,7 @@
   (seen-ops
     (47 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2135,6 +2210,7 @@
   (label 79)
   (parent 46)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2165,6 +2241,7 @@
   (seen-ops
     (47 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2198,6 +2275,7 @@
       (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2233,6 +2311,7 @@
       (operation nonce-test (displaced 6 2 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-2 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2261,6 +2340,7 @@
   (seen-ops
     (20 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2289,6 +2369,7 @@
   (label 84)
   (parent 50)
   (unrealized (3 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2319,6 +2400,7 @@
   (seen-ops
     (53 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2349,6 +2431,7 @@
   (label 86)
   (parent 52)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2379,6 +2462,7 @@
   (seen-ops
     (53 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2415,6 +2499,7 @@
       (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)
         (enc n new k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2443,6 +2528,7 @@
   (label 89)
   (parent 56)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2476,6 +2562,7 @@
       (operation nonce-test (displaced 5 2 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2514,6 +2601,7 @@
       (operation nonce-test (displaced 6 3 adder 2) n (4 0) (enc n k)
         (enc n new k) (enc n new-2 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2550,6 +2638,7 @@
       (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2578,6 +2667,7 @@
   (label 93)
   (parent 58)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2614,6 +2704,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-2 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2650,6 +2741,7 @@
       (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2678,6 +2770,7 @@
   (label 96)
   (parent 60)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2714,6 +2807,7 @@
         (enc n new k) (enc n new-1 k) (enc n new-2 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2744,6 +2838,7 @@
   (seen-ops
     (62 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2774,6 +2869,7 @@
   (label 99)
   (parent 61)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2804,6 +2900,7 @@
   (seen-ops
     (62 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2835,6 +2932,7 @@
   (seen-ops
     (65 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2866,6 +2964,7 @@
   (label 102)
   (parent 64)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2897,6 +2996,7 @@
   (seen-ops
     (65 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2933,6 +3033,7 @@
       (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2961,6 +3062,7 @@
   (label 105)
   (parent 68)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -2997,6 +3099,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-2 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3034,6 +3137,7 @@
       (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3063,6 +3167,7 @@
   (label 108)
   (parent 70)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3100,6 +3205,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-2 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3138,6 +3244,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-1 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3199,6 +3306,7 @@
   (label 112)
   (parent 72)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3229,6 +3337,7 @@
   (seen-ops
     (40 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3259,6 +3368,7 @@
   (label 114)
   (parent 74)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3289,6 +3399,7 @@
   (seen-ops
     (42 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3323,6 +3434,7 @@
     (80 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3353,6 +3465,7 @@
   (seen-ops
     (40 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3383,6 +3496,7 @@
   (label 118)
   (parent 81)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3413,6 +3527,7 @@
   (seen-ops
     (42 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3447,6 +3562,7 @@
     (87 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3482,6 +3598,7 @@
       (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3520,6 +3637,7 @@
       (operation nonce-test (displaced 6 3 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3560,6 +3678,7 @@
       (operation nonce-test (displaced 7 2 adder 2) n (5 0) (enc n k)
         (enc n new k) (enc n new-3 k)) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3588,6 +3707,7 @@
   (label 124)
   (parent 89)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3624,6 +3744,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-2 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3660,6 +3781,7 @@
         (enc n new k) (enc n new-1 k) (enc n new-2 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3696,6 +3818,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-1 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3735,6 +3858,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-3 k))
       (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3765,6 +3889,7 @@
   (seen-ops
     (53 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3795,6 +3920,7 @@
   (label 130)
   (parent 93)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3831,6 +3957,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-1 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3870,6 +3997,7 @@
         (enc n new k) (enc n new-1 k) (enc n new-3 k))
       (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3900,6 +4028,7 @@
   (seen-ops
     (47 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3930,6 +4059,7 @@
   (label 134)
   (parent 96)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3964,6 +4094,7 @@
     (100 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -3999,6 +4130,7 @@
     (103 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4035,6 +4167,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-1 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4074,6 +4207,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-3 k))
       (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4104,6 +4238,7 @@
   (seen-ops
     (62 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4134,6 +4269,7 @@
   (label 140)
   (parent 105)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4171,6 +4307,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-1 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4211,6 +4348,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-3 k))
       (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4242,6 +4380,7 @@
   (seen-ops
     (65 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4273,6 +4412,7 @@
   (label 144)
   (parent 108)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4308,6 +4448,7 @@
     (111 (operation generalization deleted (4 0))
       (strand-map 0 1 2 3 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4342,6 +4483,7 @@
   (label 146)
   (parent 110)
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4377,6 +4519,7 @@
     (111 (operation generalization deleted (5 0))
       (strand-map 0 1 2 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4411,6 +4554,7 @@
     (73 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4445,6 +4589,7 @@
     (73 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4481,6 +4626,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-1 k))
       (strand-map 0 1 2 3 4 5)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4520,6 +4666,7 @@
         (enc n new k) (enc n new-1 k) (enc n new-3 k))
       (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4559,6 +4706,7 @@
         (enc n new k) (enc n new-0 k) (enc n new-3 k))
       (strand-map 0 1 2 3 4 5 6)))
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4589,6 +4737,7 @@
   (seen-ops
     (76 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4619,6 +4768,7 @@
   (label 154)
   (parent 124)
   (unrealized (4 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4653,6 +4803,7 @@
     (85 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4686,6 +4837,7 @@
   (label 156)
   (parent 127)
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4720,6 +4872,7 @@
     (87 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4754,6 +4907,7 @@
     (78 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4787,6 +4941,7 @@
   (label 159)
   (parent 131)
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4821,6 +4976,7 @@
     (80 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4855,6 +5011,7 @@
     (98 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4888,6 +5045,7 @@
   (label 162)
   (parent 137)
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4922,6 +5080,7 @@
     (100 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4957,6 +5116,7 @@
     (101 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -4991,6 +5151,7 @@
   (label 165)
   (parent 141)
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5026,6 +5187,7 @@
     (103 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5063,6 +5225,7 @@
     (147 (operation generalization deleted (4 0))
       (strand-map 0 1 2 3 5 6)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5097,6 +5260,7 @@
     (113 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5130,6 +5294,7 @@
   (label 169)
   (parent 150)
   (unrealized (5 0))
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5164,6 +5329,7 @@
     (115 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5200,6 +5366,7 @@
     (120 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5 6)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5236,6 +5403,7 @@
     (116 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5 6)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new-1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5272,6 +5440,7 @@
     (135 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5 6)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5309,6 +5478,7 @@
     (136 (operation generalization deleted (3 0))
       (strand-map 0 1 2 4 5 6)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new-0) (n3 new-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton fragile_pruning
@@ -5345,6 +5515,7 @@
     (148 (operation generalization deleted (2 0))
       (strand-map 0 1 3 4 5 6)))
   (realized)
+  (maps ((0) ((k k) (n n) (n1 new) (n2 new) (n3 new))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/goals.tst b/tst/goals.tst
--- a/tst/goals.tst
+++ b/tst/goals.tst
@@ -1,6 +1,6 @@
 (herald goals)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/goals.scm")
 
 (defprotocol ns basic
@@ -39,6 +39,7 @@
       (send (enc n2 (pubk b)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((b b) (n1 n1) (a a) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -49,6 +50,15 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig n1)
+  (goals
+    (forall ((b name) (n1 text) (z0 strd))
+      (implies
+        (and (p "init" z0 3) (p "init" "n1" z0 n1) (p "init" "b" z0 b)
+          (non (privk b)) (uniq n1))
+        (exists ((z1 strd))
+          (and (p "resp" z1 2) (p "resp" "b" z1 b))))))
+  (comment "Initiator point of view"
+    "Authentication goal: agreement on name b")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -101,6 +111,7 @@
       (send (enc n2 (pubk b)))))
   (label 2)
   (unrealized (0 1))
+  (maps ((0) ((b b) (n1 n1) (a a) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -111,6 +122,14 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig n1)
+  (goals
+    (forall ((b name) (n1 text) (z0 strd))
+      (implies
+        (and (p "init" z0 3) (p "init" "n1" z0 n1) (p "init" "b" z0 b)
+          (non (privk b)) (uniq n1))
+        (exists ((z1 strd))
+          (and (p "resp" z1 2) (p "resp" "b" z1 b) (prec z1 1 z0 2))))))
+  (comment "Prec example")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -164,6 +183,7 @@
       (recv (enc n2 (pubk b)))))
   (label 4)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -174,6 +194,15 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n2) (p "resp" "a" z0 a)
+          (p "resp" "b" z0 b) (non (privk a)) (uniq n2))
+        (exists ((z1 strd))
+          (and (p "init" z1 2) (p "init" "b" z1 b))))))
+  (comment "Responder point of view"
+    "Failed authentication goal: agreement on name b")
   (operation nonce-test (added-strand init 3) n2 (0 2)
     (enc n1 n2 (pubk a)))
   (strand-map 0)
@@ -229,6 +258,7 @@
       (recv (enc n2 (pubk b)))))
   (label 6)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -239,6 +269,15 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n2) (p "resp" "a" z0 a)
+          (p "resp" "b" z0 b) (non (privk a)) (uniq n2))
+        (exists ((z1 strd))
+          (and (p "init" z1 2) (p "init" "b" z1 b))))))
+  (comment "Responder point of view"
+    "Authentication goal: agreement on name b")
   (operation nonce-test (added-strand init 3) n2 (0 2)
     (enc n1 n2 b (pubk a)))
   (strand-map 0)
@@ -276,8 +315,8 @@
 
 (defskeleton ns
   (vars (n1 n2 text) (a b name))
-  (deflistener n1)
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (goals
@@ -288,190 +327,130 @@
           (non (privk a)) (non (privk b)) (uniq n1)) (false))))
   (comment "Initiator point of view"
     "Secrecy goal: nonce n1 not revealed")
-  (traces ((recv n1))
+  (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b)))))
+      (send (enc n2 (pubk b)))) ((recv n1)))
   (label 8)
-  (unrealized (0 0) (1 1))
+  (unrealized (0 1) (1 0))
   (preskeleton)
-  (origs (n1 (1 0)))
+  (maps)
+  (origs (n1 (0 0)))
   (comment "Not a skeleton"))
 
 (defskeleton ns
   (vars (n1 n2 text) (a b name))
-  (deflistener n1)
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
-  (precedes ((1 0) (0 0)))
+  (deflistener n1)
+  (precedes ((0 0) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
-  (traces ((recv n1))
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (p "init" z0 3) (p "init" "n1" z0 n1) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (p "" z1 1) (p "" "x" z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b)))))
+      (send (enc n2 (pubk b)))) ((recv n1)))
   (label 9)
   (parent 8)
-  (unrealized (0 0) (1 1))
-  (origs (n1 (1 0)))
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
   (vars (n1 n2 n2-0 text) (a b name))
-  (deflistener n1)
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
   (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
-  (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (1 1)))
+  (precedes ((0 0) (2 0)) ((2 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
-  (operation nonce-test (added-strand resp 2) n1 (1 1)
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (p "init" z0 3) (p "init" "n1" z0 n1) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (p "" z1 1) (p "" "x" z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (operation nonce-test (added-strand resp 2) n1 (1 0)
     (enc n1 a (pubk b)))
   (strand-map 0 1)
-  (traces ((recv n1))
+  (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
+      (send (enc n2 (pubk b)))) ((recv n1))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
   (label 10)
   (parent 9)
-  (unrealized (0 0) (1 1))
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
-  (vars (n1 n2 text) (a b name))
-  (deflistener n1)
-  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
-  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
-  (precedes ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (1 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig n1)
-  (operation nonce-test (contracted (n2-0 n2)) n1 (1 1)
-    (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
-  (strand-map 0 1 2)
-  (traces ((recv n1))
-    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
-    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))))
-  (label 11)
-  (parent 10)
-  (unrealized (0 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton ns
-  (vars (n1 n2 text) (a b name))
-  (deflistener n1)
-  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
-  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
-  (precedes ((1 0) (2 0)) ((2 1) (0 0)) ((2 1) (1 1)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig n1)
-  (operation nonce-test (displaced 3 2 resp 2) n1 (0 0)
-    (enc n1 a (pubk b)))
-  (strand-map 0 1 2)
-  (traces ((recv n1))
-    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
-    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))))
-  (label 12)
-  (parent 11)
-  (unrealized (0 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton ns
-  (vars (n1 n2 n2-0 text) (a b name))
-  (deflistener n1)
-  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
-  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
-  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
-  (precedes ((1 0) (2 0)) ((1 0) (3 0)) ((2 1) (1 1)) ((3 1) (0 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig n1)
-  (operation nonce-test (added-strand resp 2) n1 (0 0)
-    (enc n1 a (pubk b)))
-  (strand-map 0 1 2)
-  (traces ((recv n1))
-    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
-    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a))))
-    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
-  (label 13)
-  (parent 11)
-  (seen 15)
-  (seen-ops
-    (15
-      (operation nonce-test (displaced 4 2 resp 2) n1 (0 0)
-        (enc n1 n2-0 (pubk a)) (enc n1 a (pubk b)))
-      (strand-map 0 1 2 3)))
-  (unrealized (0 0))
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton ns
   (vars (n2 text) (a b name))
-  (deflistener n2)
   (defstrand init 3 (n1 n2) (n2 n2) (a a) (b b))
+  (deflistener n2)
   (defstrand resp 2 (n2 n2) (n1 n2) (b b) (a a))
-  (precedes ((1 0) (2 0)) ((1 2) (0 0)) ((2 1) (1 1)))
+  (precedes ((0 0) (2 0)) ((0 2) (1 0)) ((2 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (displaced 3 1 init 3) n2 (0 0)
-    (enc n2 n2 (pubk a)) (enc n2 a (pubk b)))
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (p "init" z0 3) (p "init" "n1" z0 n1) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (p "" z1 1) (p "" "x" z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (operation nonce-test (displaced 3 0 init 3) n2-0 (1 0)
+    (enc n2-0 n2-0 (pubk a)) (enc n2-0 a (pubk b)))
   (strand-map 0 1 2)
-  (traces ((recv n2))
+  (traces
     ((send (enc n2 a (pubk b))) (recv (enc n2 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
+      (send (enc n2 (pubk b)))) ((recv n2))
     ((recv (enc n2 a (pubk b))) (send (enc n2 n2 (pubk a)))))
-  (label 14)
-  (parent 12)
-  (unrealized (0 0))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
-  (vars (n1 n2 n2-0 text) (a b name))
-  (deflistener n1)
-  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
-  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
-  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
-  (precedes ((1 0) (2 0)) ((1 0) (3 0)) ((2 1) (0 0)) ((2 1) (1 1))
-    ((3 1) (0 0)))
-  (non-orig (privk a) (privk b))
-  (uniq-orig n1)
-  (operation nonce-test (added-strand resp 2) n1 (0 0)
-    (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
-  (strand-map 0 1 2)
-  (traces ((recv n1))
-    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
-    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a))))
-    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
-  (label 15)
-  (parent 12)
-  (seen 16)
-  (seen-ops
-    (16
-      (operation nonce-test (displaced 4 1 init 3) n2 (0 0)
-        (enc n2 n2 (pubk a)) (enc n2 n2-0 (pubk a)) (enc n2 a (pubk b)))
-      (strand-map 0 1 2 3)))
-  (unrealized (0 0))
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton ns
   (vars (n2 n2-0 text) (a b name))
-  (deflistener n2)
   (defstrand init 3 (n1 n2) (n2 n2) (a a) (b b))
+  (deflistener n2)
   (defstrand resp 2 (n2 n2) (n1 n2) (b b) (a a))
   (defstrand resp 2 (n2 n2-0) (n1 n2) (b b) (a a))
-  (precedes ((1 0) (2 0)) ((1 0) (3 0)) ((1 2) (0 0)) ((2 1) (1 1))
-    ((3 1) (0 0)))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 2) (1 0)) ((2 1) (1 0))
+    ((3 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (added-strand resp 2) n2 (0 0) (enc n2 (pubk b))
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (p "init" z0 3) (p "init" "n1" z0 n1) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (p "" z1 1) (p "" "x" z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (operation nonce-test (added-strand resp 2) n2 (1 0) (enc n2 (pubk b))
     (enc n2 n2 (pubk a)) (enc n2 a (pubk b)))
   (strand-map 0 1 2)
-  (traces ((recv n2))
+  (traces
     ((send (enc n2 a (pubk b))) (recv (enc n2 n2 (pubk a)))
-      (send (enc n2 (pubk b))))
+      (send (enc n2 (pubk b)))) ((recv n2))
     ((recv (enc n2 a (pubk b))) (send (enc n2 n2 (pubk a))))
     ((recv (enc n2 a (pubk b))) (send (enc n2 n2-0 (pubk a)))))
-  (label 16)
-  (parent 14)
-  (unrealized (0 0))
+  (label 12)
+  (parent 11)
+  (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -505,8 +484,9 @@
           (and (p "resp" z1 2) (p "resp" "a" z1 a))))))
   (comment "Unilateral authentication goal")
   (traces ((send (enc n (pubk a))) (recv n)))
-  (label 17)
+  (label 13)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -517,12 +497,20 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a))
   (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (p "init" z0 2) (p "init" "n" z0 n) (p "init" "a" z0 a)
+          (non (privk a)) (uniq n))
+        (exists ((z1 strd))
+          (and (p "resp" z1 2) (p "resp" "a" z1 a))))))
+  (comment "Unilateral authentication goal")
   (operation nonce-test (added-strand resp 2) n (0 1) (enc n (pubk a)))
   (strand-map 0)
   (traces ((send (enc n (pubk a))) (recv n))
     ((recv (enc n (pubk a))) (send n)))
-  (label 18)
-  (parent 17)
+  (label 14)
+  (parent 13)
   (realized)
   (shape)
   (satisfies yes)
@@ -565,8 +553,9 @@
     (p "init" "n") "->" (p "init" "n1") "and" (p "init" "a") "->"
     (p "init" "b") "and" (p "resp" "a") "->" (p "resp" "b"))
   (traces ((send (enc n a-0 (pubk a))) (recv (enc n n2 (pubk a-0)))))
-  (label 19)
+  (label 15)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n) (a-0 a-0) (n2 n2))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -577,13 +566,24 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a))
   (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (p "init" z0 2) (p "init" "n1" z0 n) (p "init" "b" z0 a)
+          (non (privk a)) (uniq n))
+        (exists ((z1 strd))
+          (and (p "resp" z1 2) (p "resp" "b" z1 a))))))
+  (comment "Initiator authentication goal"
+    "Same as unilateral goal under the predicate mapping:"
+    (p "init" "n") "->" (p "init" "n1") "and" (p "init" "a") "->"
+    (p "init" "b") "and" (p "resp" "a") "->" (p "resp" "b"))
   (operation nonce-test (added-strand resp 2) n (0 1)
     (enc n a-0 (pubk a)))
   (strand-map 0)
   (traces ((send (enc n a-0 (pubk a))) (recv (enc n n2 (pubk a-0))))
     ((recv (enc n a-0 (pubk a))) (send (enc n n2-0 (pubk a-0)))))
-  (label 20)
-  (parent 19)
+  (label 16)
+  (parent 15)
   (realized)
   (shape)
   (satisfies yes)
@@ -629,8 +629,9 @@
   (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n (pubk a)))
       (recv (enc n (pubk b)))))
-  (label 21)
+  (label 17)
   (unrealized (0 2))
+  (maps ((0) ((a a) (n n) (b b) (n1 n1))))
   (origs (n (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -641,6 +642,18 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (privk a))
   (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n) (p "resp" "a" z0 a)
+          (non (privk a)) (uniq n))
+        (exists ((z1 strd))
+          (and (p "init" z1 3) (p "init" "a" z1 a))))))
+  (comment "Responder authentication goal"
+    "Same as unilateral goal under the predicate mapping:" (p "init" 1)
+    "->" (p "resp" 2) "and" (p "init" "n") "->" (p "resp" "n2") "and"
+    (p "init" "a") "->" (p "resp" "a") "and" (p "resp" 1) "->"
+    (p "init" 2) "and" (p "resp" "a") "->" (p "init" "a"))
   (operation nonce-test (added-strand init 3) n (0 2)
     (enc n1 n (pubk a)))
   (strand-map 0)
@@ -649,8 +662,8 @@
       (recv (enc n (pubk b))))
     ((send (enc n1 a (pubk b-0))) (recv (enc n1 n (pubk a)))
       (send (enc n (pubk b-0)))))
-  (label 22)
-  (parent 21)
+  (label 18)
+  (parent 17)
   (realized)
   (shape)
   (satisfies yes)
@@ -695,8 +708,9 @@
           (and (p "resp" z1 2) (p "resp" "a" z1 a))))))
   (comment "Two initiator authentication goals")
   (traces ((send (enc n a (pubk b))) (recv (enc n n2 (pubk a)))))
-  (label 23)
+  (label 19)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n n) (n2 n2))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -707,14 +721,28 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n)
+  (goals
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (p "init" z0 2) (p "init" "n1" z0 n) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (non (privk a)) (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (and (p "resp" z1 2) (p "resp" "b" z1 b)))))
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (p "init" z0 2) (p "init" "n1" z0 n) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (non (privk a)) (non (privk b)) (uniq n))
+        (exists ((z1 strd))
+          (and (p "resp" z1 2) (p "resp" "a" z1 a))))))
+  (comment "Two initiator authentication goals")
   (operation nonce-test (added-strand resp 2) n (0 1)
     (enc n a (pubk b)))
   (strand-map 0)
   (traces ((send (enc n a (pubk b))) (recv (enc n n2 (pubk a))))
     ((recv (enc n a (pubk b))) (send (enc n n2-0 (pubk a)))))
-  (label 24)
-  (parent 23)
+  (label 20)
+  (parent 19)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n n) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -724,16 +752,29 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n)
+  (goals
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (p "init" z0 2) (p "init" "n1" z0 n) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (non (privk a)) (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (and (p "resp" z1 2) (p "resp" "b" z1 b)))))
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (p "init" z0 2) (p "init" "n1" z0 n) (p "init" "a" z0 a)
+          (p "init" "b" z0 b) (non (privk a)) (non (privk b)) (uniq n))
+        (exists ((z1 strd))
+          (and (p "resp" z1 2) (p "resp" "a" z1 a))))))
+  (comment "Two initiator authentication goals")
   (operation nonce-test (contracted (n2-0 n2)) n (0 1)
     (enc n n2 (pubk a)) (enc n a (pubk b)))
   (strand-map 0 1)
   (traces ((send (enc n a (pubk b))) (recv (enc n n2 (pubk a))))
     ((recv (enc n a (pubk b))) (send (enc n n2 (pubk a)))))
-  (label 25)
-  (parent 24)
+  (label 21)
+  (parent 20)
   (realized)
   (shape)
-  (satisfies yes yes)
+  (satisfies yes)
   (maps ((0) ((a a) (b b) (n n) (n2 n2))))
   (origs (n (0 0))))
 
@@ -775,8 +816,9 @@
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b)))))
-  (label 26)
+  (label 22)
   (unrealized (0 1))
+  (maps ((0) ((n1 n1) (n2 n2) (b b) (a a))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -787,6 +829,17 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig n1)
+  (goals
+    (forall ((n1 n2 text) (b a name) (z strd))
+      (implies
+        (and (p "init" z 3) (p "init" "n1" z n1) (p "init" "n2" z n2)
+          (p "init" "a" z a) (p "init" "b" z b) (non (privk b))
+          (uniq-at n1 z 0))
+        (exists ((n2-0 text) (z-0 strd))
+          (and (p "resp" z-0 2) (p "resp" "n2" z-0 n2-0)
+            (p "resp" "n1" z-0 n1) (p "resp" "b" z-0 b)
+            (p "resp" "a" z-0 a) (prec z 0 z-0 0) (prec z-0 1 z 1))))))
+  (comment "Shape analysis sentence")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -794,8 +847,8 @@
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
-  (label 27)
-  (parent 26)
+  (label 23)
+  (parent 22)
   (realized)
   (shape)
   (satisfies yes)
@@ -823,8 +876,8 @@
 
 (defskeleton ns
   (vars (n2 n1 text) (a b name))
-  (deflistener n2)
   (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
   (goals
@@ -835,102 +888,137 @@
           (non (privk a)) (non (privk b)) (uniq n2)) (false))))
   (comment "Responder point of view"
     "Failed secrecy goal: nonce n2 not revealed")
-  (traces ((recv n2))
+  (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
-      (recv (enc n2 (pubk b)))))
-  (label 28)
-  (unrealized (0 0) (1 2))
+      (recv (enc n2 (pubk b)))) ((recv n2)))
+  (label 24)
+  (unrealized (0 2) (1 0))
   (preskeleton)
-  (origs (n2 (1 1)))
+  (maps)
+  (origs (n2 (0 1)))
   (comment "Not a skeleton"))
 
 (defskeleton ns
   (vars (n2 n1 text) (a b name))
-  (deflistener n2)
   (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
-  (precedes ((1 1) (0 0)))
+  (deflistener n2)
+  (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (traces ((recv n2))
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n2) (p "resp" "a" z0 a)
+          (p "resp" "b" z0 b) (p "" z1 1) (p "" "x" z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
-      (recv (enc n2 (pubk b)))))
-  (label 29)
-  (parent 28)
-  (unrealized (0 0) (1 2))
-  (origs (n2 (1 1)))
+      (recv (enc n2 (pubk b)))) ((recv n2)))
+  (label 25)
+  (parent 24)
+  (unrealized (0 2) (1 0))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
   (vars (n2 n1 text) (a b b-0 name))
-  (deflistener n2)
   (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
-  (precedes ((1 1) (0 0)) ((1 1) (2 1)) ((2 2) (1 2)))
+  (precedes ((0 1) (2 1)) ((2 2) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (added-strand init 3) n2 (1 2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n2) (p "resp" "a" z0 a)
+          (p "resp" "b" z0 b) (p "" z1 1) (p "" "x" z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (operation nonce-test (added-strand init 3) n2 (1 0)
     (enc n1 n2 (pubk a)))
   (strand-map 0 1)
-  (traces ((recv n2))
+  (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
-      (recv (enc n2 (pubk b))))
+      (recv (enc n2 (pubk b)))) ((recv n2))
     ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b-0)))))
-  (label 30)
-  (parent 29)
-  (unrealized (0 0))
+  (label 26)
+  (parent 25)
+  (unrealized (0 2))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton ns
   (vars (n2 n1 text) (a b b-0 name))
-  (deflistener n2)
   (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
-  (precedes ((1 1) (2 1)) ((2 2) (0 0)) ((2 2) (1 2)))
+  (precedes ((0 1) (2 1)) ((2 2) (0 2)) ((2 2) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (displaced 3 2 init 3) n2 (0 0)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n2) (p "resp" "a" z0 a)
+          (p "resp" "b" z0 b) (p "" z1 1) (p "" "x" z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (operation nonce-test (displaced 3 2 init 3) n2 (0 2)
     (enc n1 n2 (pubk a)))
   (strand-map 0 1 2)
-  (traces ((recv n2))
+  (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
-      (recv (enc n2 (pubk b))))
+      (recv (enc n2 (pubk b)))) ((recv n2))
     ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b-0)))))
-  (label 31)
-  (parent 30)
+  (label 27)
+  (parent 26)
   (realized)
   (shape)
-  (satisfies (no (fact false) (a a) (b b) (n2 n2) (z0 1) (z1 0)))
+  (satisfies (no (fact false) (a a) (b b) (n2 n2) (z0 0) (z1 1)))
   (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
-  (origs (n2 (1 1))))
+  (origs (n2 (0 1))))
 
 (defskeleton ns
   (vars (n2 n1 text) (a b b-0 b-1 name))
-  (deflistener n2)
   (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-1))
-  (precedes ((1 1) (2 1)) ((1 1) (3 1)) ((2 2) (1 2)) ((3 2) (0 0)))
+  (precedes ((0 1) (2 1)) ((0 1) (3 1)) ((2 2) (1 0)) ((3 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (added-strand init 3) n2 (0 0)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (p "resp" z0 3) (p "resp" "n2" z0 n2) (p "resp" "a" z0 a)
+          (p "resp" "b" z0 b) (p "" z1 1) (p "" "x" z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (operation nonce-test (added-strand init 3) n2 (0 2)
     (enc n1 n2 (pubk a)))
   (strand-map 0 1 2)
-  (traces ((recv n2))
+  (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
-      (recv (enc n2 (pubk b))))
+      (recv (enc n2 (pubk b)))) ((recv n2))
     ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b-0))))
     ((send (enc n1 a (pubk b-1))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b-1)))))
-  (label 32)
-  (parent 30)
+  (label 28)
+  (parent 26)
   (realized)
   (shape)
-  (satisfies (no (fact false) (a a) (b b) (n2 n2) (z0 1) (z1 0)))
+  (satisfies (no (fact false) (a a) (b b) (n2 n2) (z0 0) (z1 1)))
   (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
-  (origs (n2 (1 1))))
+  (origs (n2 (0 1))))
 
 (comment "Nothing left to do")
 
@@ -972,8 +1060,9 @@
       (send (enc n2 (pubk b))))
     ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
       (send (enc n2-0 (pubk b)))))
-  (label 33)
+  (label 29)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (origs (n1 (0 0)) (n1-0 (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -982,14 +1071,25 @@
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation collapsed 1 0)
   (strand-map 0 0)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b)))))
-  (label 34)
-  (parent 33)
+  (label 30)
+  (parent 29)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -1000,6 +1100,16 @@
   (precedes ((1 0) (2 0)) ((2 1) (1 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation nonce-test (added-strand resp 2) n1-0 (1 1)
     (enc n1-0 a (pubk b)))
   (strand-map 0 1)
@@ -1009,9 +1119,10 @@
     ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
       (send (enc n2-0 (pubk b))))
     ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-1 (pubk a)))))
-  (label 35)
-  (parent 33)
+  (label 31)
+  (parent 29)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -1021,6 +1132,16 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -1028,9 +1149,10 @@
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
-  (label 36)
-  (parent 34)
+  (label 32)
+  (parent 30)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1042,6 +1164,16 @@
   (precedes ((1 0) (2 0)) ((2 1) (1 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation nonce-test (contracted (n2-1 n2-0)) n1-0 (1 1)
     (enc n1-0 n2-0 (pubk a)) (enc n1-0 a (pubk b)))
   (strand-map 0 1 2)
@@ -1051,9 +1183,10 @@
     ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
       (send (enc n2-0 (pubk b))))
     ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-0 (pubk a)))))
-  (label 37)
-  (parent 35)
+  (label 33)
+  (parent 31)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -1063,6 +1196,16 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -1070,8 +1213,8 @@
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))))
-  (label 38)
-  (parent 36)
+  (label 34)
+  (parent 32)
   (realized)
   (shape)
   (satisfies yes)
@@ -1087,6 +1230,16 @@
   (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0 1 2)
@@ -1097,9 +1250,10 @@
       (send (enc n2-0 (pubk b))))
     ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-0 (pubk a))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-1 (pubk a)))))
-  (label 39)
-  (parent 37)
+  (label 35)
+  (parent 33)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -1111,6 +1265,16 @@
   (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "init" z 3) (p "init" z-0 3) (p "init" "n1" z n1)
+          (p "init" "n2" z n2) (p "init" "a" z a) (p "init" "b" z b)
+          (p "init" "n1" z-0 n1-0) (p "init" "n2" z-0 n2-0)
+          (p "init" "a" z-0 a) (p "init" "b" z-0 b) (non (privk a))
+          (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+        (= z z-0))))
+  (comment "Double initiator point of view")
   (operation nonce-test (contracted (n2-1 n2-0)) n1 (0 1)
     (enc n1 n2-0 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1 2 3)
@@ -1121,13 +1285,13 @@
       (send (enc n2 (pubk b))))
     ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2 (pubk a))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
-  (label 40)
-  (parent 39)
+  (label 36)
+  (parent 35)
   (realized)
   (shape)
   (satisfies
-    (no (= z z-0) (n1 n1) (n1-0 n1-0) (n2 n2-0) (n2-0 n2) (a a) (b b)
-      (z 0) (z-0 1)))
+    (no (= z z-0) (n1 n1-0) (n1-0 n1) (n2 n2) (n2-0 n2-0) (a a) (b b)
+      (z 1) (z-0 0)))
   (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2-0) (n2-0 n2))))
   (origs (n1 (0 0)) (n1-0 (1 0))))
 
@@ -1152,8 +1316,8 @@
 
 (defskeleton nsl-typeless
   (vars (n1 mesg) (n2 text) (a b name))
-  (deflistener n2)
   (defstrand resp 2 (n1 n1) (n2 n2) (b b) (a a))
+  (deflistener n2)
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
   (goals
@@ -1163,71 +1327,95 @@
           (p "resp" "b" z b) (p "resp" "a" z a) (p "" "x" z-0 n2)
           (non (privk a)) (non (privk b)) (uniq n2)) (false))))
   (comment "Shows typeflaw in typeless NSL")
-  (traces ((recv n2))
-    ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a)))))
-  (label 41)
-  (unrealized (0 0))
+  (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+    ((recv n2)))
+  (label 37)
+  (unrealized (1 0))
   (preskeleton)
-  (origs (n2 (1 1)))
+  (maps)
+  (origs (n2 (0 1)))
   (comment "Not a skeleton"))
 
 (defskeleton nsl-typeless
   (vars (n1 mesg) (n2 text) (a b name))
-  (deflistener n2)
   (defstrand resp 2 (n1 n1) (n2 n2) (b b) (a a))
-  (precedes ((1 1) (0 0)))
+  (deflistener n2)
+  (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (traces ((recv n2))
-    ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a)))))
-  (label 42)
-  (parent 41)
-  (unrealized (0 0))
-  (origs (n2 (1 1)))
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "resp" z 2) (p "" z-0 1) (p "resp" "n2" z n2)
+          (p "resp" "b" z b) (p "resp" "a" z a) (p "" "x" z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+    ((recv n2)))
+  (label 38)
+  (parent 37)
+  (unrealized (1 0))
+  (maps ((0 1) ((n2 n2) (a a) (b b) (n1 n1))))
+  (origs (n2 (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton nsl-typeless
   (vars (n2 n1 text) (a b name))
-  (deflistener n2)
   (defstrand resp 2 (n1 n1) (n2 n2) (b b) (a a))
+  (deflistener n2)
   (defstrand init 3 (n2 n2) (n1 n1) (a a) (b b))
-  (precedes ((1 1) (2 1)) ((2 2) (0 0)))
+  (precedes ((0 1) (2 1)) ((2 2) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (added-strand init 3) n2 (0 0)
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "resp" z 2) (p "" z-0 1) (p "resp" "n2" z n2)
+          (p "resp" "b" z b) (p "resp" "a" z a) (p "" "x" z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (operation nonce-test (added-strand init 3) n2 (1 0)
     (enc n1 n2 b (pubk a)))
   (strand-map 0 1)
-  (traces ((recv n2))
-    ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+  (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+    ((recv n2))
     ((send (enc a n1 (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b)))))
-  (label 43)
-  (parent 42)
-  (unrealized (0 0))
+  (label 39)
+  (parent 38)
+  (unrealized (1 0))
   (dead)
+  (maps ((0 1) ((n2 n2) (a a) (b b) (n1 n1))))
   (comment "empty cohort"))
 
 (defskeleton nsl-typeless
   (vars (n2 n2-0 text) (a b a-0 name))
-  (deflistener n2)
   (defstrand resp 2 (n1 a-0) (n2 n2) (b b) (a a))
+  (deflistener n2)
   (defstrand resp 2 (n1 (cat n2 b)) (n2 n2-0) (b a) (a a-0))
-  (precedes ((1 1) (2 0)) ((2 1) (0 0)))
+  (precedes ((0 1) (2 0)) ((2 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
-  (operation nonce-test (added-strand resp 2) n2 (0 0)
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (p "resp" z 2) (p "" z-0 1) (p "resp" "n2" z n2)
+          (p "resp" "b" z b) (p "resp" "a" z a) (p "" "x" z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (operation nonce-test (added-strand resp 2) n2 (1 0)
     (enc a-0 n2 b (pubk a)))
   (strand-map 0 1)
-  (traces ((recv n2))
-    ((recv (enc a a-0 (pubk b))) (send (enc a-0 n2 b (pubk a))))
+  (traces ((recv (enc a a-0 (pubk b))) (send (enc a-0 n2 b (pubk a))))
+    ((recv n2))
     ((recv (enc a-0 n2 b (pubk a)))
       (send (enc (cat n2 b) n2-0 a (pubk a-0)))))
-  (label 44)
-  (parent 42)
+  (label 40)
+  (parent 38)
   (realized)
   (shape)
-  (satisfies (no (fact false) (n2 n2) (a a) (b b) (z 1) (z-0 0)))
+  (satisfies (no (fact false) (n2 n2) (a a) (b b) (z 0) (z-0 1)))
   (maps ((0 1) ((n2 n2) (a a) (b b) (n1 a-0))))
-  (origs (n2 (1 1))))
+  (origs (n2 (0 1))))
 
 (comment "Nothing left to do")
diff --git a/tst/goalsvar.scm b/tst/goalsvar.scm
new file mode 100644
--- /dev/null
+++ b/tst/goalsvar.scm
@@ -0,0 +1,229 @@
+(herald goalsvar)
+
+;;; Section 1 --- Examples from CPSA and Formal Security Goals
+
+;;; Needham-Schroeder from Section 10 of the CPSA Primer
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace
+     (send (enc n1 a (pubk b)))
+     (recv (enc n1 n2 (pubk a)))
+     (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace
+     (recv (enc n1 a (pubk b)))
+     (send (enc n1 n2 (pubk a)))
+     (recv (enc n2 (pubk b)))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defgoal ns
+  (forall ((b name) (n1 text) (z0 strd))
+    (implies
+     (and 
+      (strand init z0 3 (n1 n1) (b b))
+      (non (privk b)) (uniq n1))
+     (exists ((z1 strd))
+	     (strand resp z1 2 (b b)))))
+  (comment "Initiator point of view")
+  (comment "Authentication goal: agreement on name b"))
+
+(defgoal ns
+  (forall ((b name) (n1 text) (z0 strd))
+    (implies
+     (and (strand init z0 3 (n1 n1) (b b))
+      (non (privk b)) (uniq n1))
+     (exists ((z1 strd))
+        (and 
+          (strand resp z1 2 (b b))
+	      (prec z1 1 z0 2)))))
+  (comment "Prec example"))
+
+(defgoal ns
+  (forall ((a b name) (n2 text) (z0 strd))
+    (implies
+     (and (strand resp z0 3 (n2 n2) (a a) (b b))
+      (non (privk a)) (uniq n2))
+     (exists ((z1 strd))
+      (strand init z1 2 (b b)))))
+  (comment "Responder point of view")
+  (comment "Failed authentication goal: agreement on name b"))
+
+(defprotocol nsl basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace
+     (send (enc n1 a (pubk b)))
+     (recv (enc n1 n2 b (pubk a)))
+     (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace
+     (recv (enc n1 a (pubk b)))
+     (send (enc n1 n2 b (pubk a)))
+     (recv (enc n2 (pubk b)))))
+  (comment "Needham-Schroeder-Lowe with no role origination assumptions"))
+
+(defgoal nsl
+  (forall ((a b name) (n2 text) (z0 strd))
+    (implies
+     (and (strand resp z0 3 (n2 n2) (a a) (b b))
+      (non (privk a)) (uniq n2))
+     (exists ((z1 strd))
+      (strand init z1 2 (b b)))))
+  (comment "Responder point of view")
+  (comment "Authentication goal: agreement on name b"))
+
+(defgoal ns
+  (forall ((a b name) (n1 text) (z0 z1 strd))
+    (implies
+     (and (strand init z0 3 (n1 n1) (a a) (b b))
+      (listener z1 n1)
+      (non (privk a)) (non (privk b)) (uniq n1))
+     (false)))
+  (comment "Initiator point of view")
+  (comment "Secrecy goal: nonce n1 not revealed"))
+
+(defprotocol unilateral basic
+  (defrole init
+    (vars (a name) (n text))
+    (trace
+     (send (enc n (pubk a)))
+     (recv n)))
+  (defrole resp
+    (vars (a name) (n text))
+    (trace
+     (recv (enc n (pubk a)))
+     (send n)))
+  (comment "Unilateral authentication"))
+
+(defgoal unilateral
+  (forall ((a name) (n text)
+           (z0 strd))
+   (implies
+    (and (strand init z0 2 (n n) (a a))
+     (non (privk a)) (uniq n))
+    (exists ((z1 strd))
+     (strand resp z1 2 (a a)))))
+  (comment "Unilateral authentication goal"))
+
+;;; Does initiator satisfy the unilateral authentication goal?
+
+;;; Note that the goal requires translation of some of the role
+;;; specific predicates.
+(defgoal ns
+  (forall ((a name) (n text) (z0 strd))
+   (implies
+    (and (strand init z0 2 (n1 n) (b a))
+      (non (privk a)) (uniq n))
+    (exists ((z1 strd))
+     (strand resp z1 2 (b a)))))
+  (comment "Initiator authentication goal")
+  (comment "Same as unilateral goal under the predicate mapping:")
+  (comment (p "init" "n") "->" (p "init" "n1") "and")
+  (comment (p "init" "a") "->" (p "init" "b") "and")
+  (comment (p "resp" "a") "->" (p "resp" "b")))
+
+;;; Does responder satisfy the unilateral authentication goal?
+
+(defgoal ns
+  (forall ((a name) (n text) (z0 strd))
+   (implies
+    (and (strand resp z0 3 (n2 n) (a a))
+     (non (privk a)) (uniq n))
+    (exists ((z1 strd))
+     (strand init z1 3 (a a)))))
+  (comment "Responder authentication goal")
+  (comment "Same as unilateral goal under the predicate mapping:")
+  (comment (p "init" 1) "->" (p "resp" 2) "and")
+  (comment (p "init" "n") "->" (p "resp" "n2") "and")
+  (comment (p "init" "a") "->" (p "resp" "a") "and")
+  (comment (p "resp" 1) "->" (p "init" 2) "and")
+  (comment (p "resp" "a") "->" (p "init" "a")))
+
+(defgoal ns
+  (forall ((a b name) (n text) (z0 strd))
+    (implies
+     (and (strand init z0 2 (n1 n) (a a) (b b))
+      (non (privk a)) (non (privk b)) (uniq n))
+     (exists ((z1 strd))
+      (strand resp z1 2 (b b)))))
+  (forall ((a b name) (n text) (z0 strd))
+   (implies
+     (and (strand init z0 2 (n1 n) (a a) (b b))
+      (non (privk a)) (non (privk b)) (uniq n))
+     (exists ((z1 strd))
+      (strand resp z1 2 (a a)))))
+  (comment "Two initiator authentication goals"))
+
+;;; The shape analysis sentence as input (kind of useless)
+
+(defgoal ns
+  (forall ((n1 n2 text) (b a name) (z strd))
+    (implies
+      (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+        (non (privk b))
+        (uniq-at n1 z 0))
+      (exists ((n2-0 text) (z-0 strd))
+        (and (strand resp z-0 2 (n2 n2-0) (n1 n1) (b b) (a a))
+          (prec z 0 z-0 0) (prec z-0 1 z 1)))))
+  (comment "Shape analysis sentence"))
+
+;;; Section 2 --- Additional Examples
+
+(defgoal ns
+  (forall ((a b name) (n2 text) (z0 z1 strd))
+    (implies
+     (and
+      (strand resp z0 3 (n2 n2) (a a) (b b))
+      ;; Still have to add support for a listener formula: 
+      (listener z1 n2)
+      (non (privk a)) (non (privk b)) (uniq n2))
+     (false)))
+  (comment "Responder point of view")
+  (comment "Failed secrecy goal: nonce n2 not revealed"))
+
+;;; Double initiator point of view
+(defskeleton ns
+  (vars (a b name) (n1 n1-0 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (defstrand init 3 (a a) (b b) (n1 n1-0))
+  (non-orig (privk b) (privk a))
+  (uniq-orig n1 n1-0)
+  (goals
+  (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+    (implies
+      (and 
+        (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+        (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+        (non (privk a))
+        (non (privk b)) (uniq-at n1 z 0) (uniq-at n1-0 z-0 0))
+      (= z z-0))))
+  (comment "Double initiator point of view"))
+
+(defprotocol nsl-typeless basic
+  (defrole init
+    (vars (a b name) (n1 text) (n2 mesg))
+    (trace
+     (send (enc a n1 (pubk b)))
+     (recv (enc n1 n2 b (pubk a)))
+     (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 text) (n1 mesg))
+    (trace
+     (recv (enc a n1 (pubk b)))
+     (send (enc n1 n2 b (pubk a)))
+     (recv (enc n2 (pubk b)))))
+  (comment "Needham-Schroeder-Lowe with untyped nonces"))
+
+;;; The responder point of view
+(defgoal nsl-typeless
+  (forall ((n2 text) (a b name) (z z-0 strd))
+    (implies
+      (and (strand resp z 2 (n2 n2) (b b) (a a))
+        (listener z-0 n2)
+        (non (privk a)) (non (privk b)) (uniq n2))
+      (false)))
+  (comment "Shows typeflaw in typeless NSL"))
diff --git a/tst/goalsvar.tst b/tst/goalsvar.tst
new file mode 100644
--- /dev/null
+++ b/tst/goalsvar.tst
@@ -0,0 +1,1358 @@
+(herald goalsvar)
+
+(comment "CPSA 4.4.7")
+(comment "All input read from tst/goalsvar.scm")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (b a name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((b name) (n1 text) (z0 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (b b)) (non (privk b)) (uniq n1))
+        (exists ((z1 strd)) (strand resp z1 2 (b b))))))
+  (comment "Initiator point of view"
+    "Authentication goal: agreement on name b")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 0)
+  (unrealized (0 1))
+  (maps ((0) ((b b) (n1 n1) (a a) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (b a name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((b name) (n1 text) (z0 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (b b)) (non (privk b)) (uniq n1))
+        (exists ((z1 strd)) (strand resp z1 2 (b b))))))
+  (comment "Initiator point of view"
+    "Authentication goal: agreement on name b")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
+  (label 1)
+  (parent 0)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((b b) (n1 n1) (a a) (n2 n2))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (b a name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((b name) (n1 text) (z0 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (b b)) (non (privk b)) (uniq n1))
+        (exists ((z1 strd))
+          (and (strand resp z1 2 (b b)) (prec z1 1 z0 2))))))
+  (comment "Prec example")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 2)
+  (unrealized (0 1))
+  (maps ((0) ((b b) (n1 n1) (a a) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (b a name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((b name) (n1 text) (z0 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (b b)) (non (privk b)) (uniq n1))
+        (exists ((z1 strd))
+          (and (strand resp z1 2 (b b)) (prec z1 1 z0 2))))))
+  (comment "Prec example")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
+  (label 3)
+  (parent 2)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((b b) (n1 n1) (a a) (n2 n2))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (non (privk a))
+          (uniq n2)) (exists ((z1 strd)) (strand init z1 2 (b b))))))
+  (comment "Responder point of view"
+    "Failed authentication goal: agreement on name b")
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (label 4)
+  (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b b-0 name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
+  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (non (privk a))
+          (uniq n2)) (exists ((z1 strd)) (strand init z1 2 (b b))))))
+  (comment "Responder point of view"
+    "Failed authentication goal: agreement on name b")
+  (operation nonce-test (added-strand init 3) n2 (0 2)
+    (enc n1 n2 (pubk a)))
+  (strand-map 0)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b))))
+    ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b-0)))))
+  (label 5)
+  (parent 4)
+  (realized)
+  (shape)
+  (satisfies (no (p "init" "b" z1 b) (a a) (b b) (n2 n2) (z0 0)))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol nsl basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment
+    "Needham-Schroeder-Lowe with no role origination assumptions"))
+
+(defskeleton nsl
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (non (privk a))
+          (uniq n2)) (exists ((z1 strd)) (strand init z1 2 (b b))))))
+  (comment "Responder point of view"
+    "Authentication goal: agreement on name b")
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (label 6)
+  (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton nsl
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (non (privk a))
+          (uniq n2)) (exists ((z1 strd)) (strand init z1 2 (b b))))))
+  (comment "Responder point of view"
+    "Authentication goal: agreement on name b")
+  (operation nonce-test (added-strand init 3) n2 (0 2)
+    (enc n1 n2 b (pubk a)))
+  (strand-map 0)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b))))
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 7)
+  (parent 6)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (a a) (b b)) (listener z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n1) (send n1)))
+  (label 8)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (maps)
+  (origs (n1 (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (a a) (b b)) (listener z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n1) (send n1)))
+  (label 9)
+  (parent 8)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (2 0)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (a a) (b b)) (listener z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (operation nonce-test (added-strand resp 2) n1 (1 0)
+    (enc n1 a (pubk b)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n1) (send n1))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 text) (a b name))
+  (defstrand init 3 (n1 n2) (n2 n2) (a a) (b b))
+  (deflistener n2)
+  (defstrand resp 2 (n2 n2) (n1 n2) (b b) (a a))
+  (precedes ((0 0) (2 0)) ((0 2) (1 0)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (a a) (b b)) (listener z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (operation nonce-test (displaced 3 0 init 3) n2-0 (1 0)
+    (enc n2-0 n2-0 (pubk a)) (enc n2-0 a (pubk b)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n2 a (pubk b))) (recv (enc n2 n2 (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((recv (enc n2 a (pubk b))) (send (enc n2 n2 (pubk a)))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n2) (n2 n2) (a a) (b b))
+  (deflistener n2)
+  (defstrand resp 2 (n2 n2) (n1 n2) (b b) (a a))
+  (defstrand resp 2 (n2 n2-0) (n1 n2) (b b) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 2) (1 0)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n1 text) (z0 z1 strd))
+      (implies
+        (and (strand init z0 3 (n1 n1) (a a) (b b)) (listener z1 n1)
+          (non (privk a)) (non (privk b)) (uniq n1)) (false))))
+  (comment "Initiator point of view"
+    "Secrecy goal: nonce n1 not revealed")
+  (operation nonce-test (added-strand resp 2) n2 (1 0) (enc n2 (pubk b))
+    (enc n2 n2 (pubk a)) (enc n2 a (pubk b)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n2 a (pubk b))) (recv (enc n2 n2 (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((recv (enc n2 a (pubk b))) (send (enc n2 n2 (pubk a))))
+    ((recv (enc n2 a (pubk b))) (send (enc n2 n2-0 (pubk a)))))
+  (label 12)
+  (parent 11)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol unilateral basic
+  (defrole init
+    (vars (a name) (n text))
+    (trace (send (enc n (pubk a))) (recv n)))
+  (defrole resp
+    (vars (a name) (n text))
+    (trace (recv (enc n (pubk a))) (send n)))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Unilateral authentication"))
+
+(defskeleton unilateral
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n n) (a a)) (non (privk a)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (a a))))))
+  (comment "Unilateral authentication goal")
+  (traces ((send (enc n (pubk a))) (recv n)))
+  (label 13)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
+  (origs (n (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton unilateral
+  (vars (n text) (a name))
+  (defstrand init 2 (n n) (a a))
+  (defstrand resp 2 (n n) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n n) (a a)) (non (privk a)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (a a))))))
+  (comment "Unilateral authentication goal")
+  (operation nonce-test (added-strand resp 2) n (0 1) (enc n (pubk a)))
+  (strand-map 0)
+  (traces ((send (enc n (pubk a))) (recv n))
+    ((recv (enc n (pubk a))) (send n)))
+  (label 14)
+  (parent 13)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((a a) (n n))))
+  (origs (n (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n n2 text) (a a-0 name))
+  (defstrand init 2 (n1 n) (n2 n2) (a a-0) (b a))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (b a)) (non (privk a)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (b a))))))
+  (comment "Initiator authentication goal"
+    "Same as unilateral goal under the predicate mapping:"
+    (p "init" "n") "->" (p "init" "n1") "and" (p "init" "a") "->"
+    (p "init" "b") "and" (p "resp" "a") "->" (p "resp" "b"))
+  (traces ((send (enc n a-0 (pubk a))) (recv (enc n n2 (pubk a-0)))))
+  (label 15)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (n n) (a-0 a-0) (n2 n2))))
+  (origs (n (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n n2 n2-0 text) (a a-0 name))
+  (defstrand init 2 (n1 n) (n2 n2) (a a-0) (b a))
+  (defstrand resp 2 (n2 n2-0) (n1 n) (b a) (a a-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (b a)) (non (privk a)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (b a))))))
+  (comment "Initiator authentication goal"
+    "Same as unilateral goal under the predicate mapping:"
+    (p "init" "n") "->" (p "init" "n1") "and" (p "init" "a") "->"
+    (p "init" "b") "and" (p "resp" "a") "->" (p "resp" "b"))
+  (operation nonce-test (added-strand resp 2) n (0 1)
+    (enc n a-0 (pubk a)))
+  (strand-map 0)
+  (traces ((send (enc n a-0 (pubk a))) (recv (enc n n2 (pubk a-0))))
+    ((recv (enc n a-0 (pubk a))) (send (enc n n2-0 (pubk a-0)))))
+  (label 16)
+  (parent 15)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((a a) (n n) (a-0 a-0) (n2 n2))))
+  (origs (n (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n n1 text) (a b name))
+  (defstrand resp 3 (n2 n) (n1 n1) (b b) (a a))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n) (a a)) (non (privk a)) (uniq n))
+        (exists ((z1 strd)) (strand init z1 3 (a a))))))
+  (comment "Responder authentication goal"
+    "Same as unilateral goal under the predicate mapping:" (p "init" 1)
+    "->" (p "resp" 2) "and" (p "init" "n") "->" (p "resp" "n2") "and"
+    (p "init" "a") "->" (p "resp" "a") "and" (p "resp" 1) "->"
+    (p "init" 2) "and" (p "resp" "a") "->" (p "init" "a"))
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n (pubk a)))
+      (recv (enc n (pubk b)))))
+  (label 17)
+  (unrealized (0 2))
+  (maps ((0) ((a a) (n n) (b b) (n1 n1))))
+  (origs (n (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n n1 text) (a b b-0 name))
+  (defstrand resp 3 (n2 n) (n1 n1) (b b) (a a))
+  (defstrand init 3 (n1 n1) (n2 n) (a a) (b b-0))
+  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n)
+  (goals
+    (forall ((a name) (n text) (z0 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n) (a a)) (non (privk a)) (uniq n))
+        (exists ((z1 strd)) (strand init z1 3 (a a))))))
+  (comment "Responder authentication goal"
+    "Same as unilateral goal under the predicate mapping:" (p "init" 1)
+    "->" (p "resp" 2) "and" (p "init" "n") "->" (p "resp" "n2") "and"
+    (p "init" "a") "->" (p "resp" "a") "and" (p "resp" 1) "->"
+    (p "init" 2) "and" (p "resp" "a") "->" (p "init" "a"))
+  (operation nonce-test (added-strand init 3) n (0 2)
+    (enc n1 n (pubk a)))
+  (strand-map 0)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n (pubk a)))
+      (recv (enc n (pubk b))))
+    ((send (enc n1 a (pubk b-0))) (recv (enc n1 n (pubk a)))
+      (send (enc n (pubk b-0)))))
+  (label 18)
+  (parent 17)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((a a) (n n) (b b) (n1 n1))))
+  (origs (n (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n n2 text) (a b name))
+  (defstrand init 2 (n1 n) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n)
+  (goals
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (a a) (b b)) (non (privk a))
+          (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (b b)))))
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (a a) (b b)) (non (privk a))
+          (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (a a))))))
+  (comment "Two initiator authentication goals")
+  (traces ((send (enc n a (pubk b))) (recv (enc n n2 (pubk a)))))
+  (label 19)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n n) (n2 n2))))
+  (origs (n (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n n2 n2-0 text) (a b name))
+  (defstrand init 2 (n1 n) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n)
+  (goals
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (a a) (b b)) (non (privk a))
+          (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (b b)))))
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (a a) (b b)) (non (privk a))
+          (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (a a))))))
+  (comment "Two initiator authentication goals")
+  (operation nonce-test (added-strand resp 2) n (0 1)
+    (enc n a (pubk b)))
+  (strand-map 0)
+  (traces ((send (enc n a (pubk b))) (recv (enc n n2 (pubk a))))
+    ((recv (enc n a (pubk b))) (send (enc n n2-0 (pubk a)))))
+  (label 20)
+  (parent 19)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n n) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n n2 text) (a b name))
+  (defstrand init 2 (n1 n) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n)
+  (goals
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (a a) (b b)) (non (privk a))
+          (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (b b)))))
+    (forall ((a b name) (n text) (z0 strd))
+      (implies
+        (and (strand init z0 2 (n1 n) (a a) (b b)) (non (privk a))
+          (non (privk b)) (uniq n))
+        (exists ((z1 strd)) (strand resp z1 2 (a a))))))
+  (comment "Two initiator authentication goals")
+  (operation nonce-test (contracted (n2-0 n2)) n (0 1)
+    (enc n n2 (pubk a)) (enc n a (pubk b)))
+  (strand-map 0 1)
+  (traces ((send (enc n a (pubk b))) (recv (enc n n2 (pubk a))))
+    ((recv (enc n a (pubk b))) (send (enc n n2 (pubk a)))))
+  (label 21)
+  (parent 20)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((a a) (b b) (n n) (n2 n2))))
+  (origs (n (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (b a name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((n1 n2 text) (b a name) (z strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (non (privk b)) (uniq-at n1 z 0))
+        (exists ((n2-0 text) (z-0 strd))
+          (and (strand resp z-0 2 (n2 n2-0) (n1 n1) (b b) (a a))
+            (prec z 0 z-0 0) (prec z-0 1 z 1))))))
+  (comment "Shape analysis sentence")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 22)
+  (unrealized (0 1))
+  (maps ((0) ((n1 n1) (n2 n2) (b b) (a a))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (b a name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((n1 n2 text) (b a name) (z strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (non (privk b)) (uniq-at n1 z 0))
+        (exists ((n2-0 text) (z-0 strd))
+          (and (strand resp z-0 2 (n2 n2-0) (n1 n1) (b b) (a a))
+            (prec z 0 z-0 0) (prec z-0 1 z 1))))))
+  (comment "Shape analysis sentence")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
+  (label 23)
+  (parent 22)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0) ((n1 n1) (n2 n2) (b b) (a a))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (listener z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))) ((recv n2) (send n2)))
+  (label 24)
+  (unrealized (0 2) (1 0))
+  (preskeleton)
+  (maps)
+  (origs (n2 (0 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (listener z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))) ((recv n2) (send n2)))
+  (label 25)
+  (parent 24)
+  (unrealized (0 2) (1 0))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b b-0 name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
+  (precedes ((0 1) (2 1)) ((2 2) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (listener z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (operation nonce-test (added-strand init 3) n2 (1 0)
+    (enc n1 n2 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b-0)))))
+  (label 26)
+  (parent 25)
+  (unrealized (0 2))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b b-0 name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
+  (precedes ((0 1) (2 1)) ((2 2) (0 2)) ((2 2) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (listener z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (operation nonce-test (displaced 3 2 init 3) n2 (0 2)
+    (enc n1 n2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b-0)))))
+  (label 27)
+  (parent 26)
+  (realized)
+  (shape)
+  (satisfies (no (fact false) (a a) (b b) (n2 n2) (z0 0) (z1 1)))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1))))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b b-0 b-1 name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (deflistener n2)
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-0))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b-1))
+  (precedes ((0 1) (2 1)) ((0 1) (3 1)) ((2 2) (1 0)) ((3 2) (0 2)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((a b name) (n2 text) (z0 z1 strd))
+      (implies
+        (and (strand resp z0 3 (n2 n2) (a a) (b b)) (listener z1 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Responder point of view"
+    "Failed secrecy goal: nonce n2 not revealed")
+  (operation nonce-test (added-strand init 3) n2 (0 2)
+    (enc n1 n2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((send (enc n1 a (pubk b-0))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b-0))))
+    ((send (enc n1 a (pubk b-1))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b-1)))))
+  (label 28)
+  (parent 26)
+  (realized)
+  (shape)
+  (satisfies (no (fact false) (a a) (b b) (n2 n2) (z0 0) (z1 1)))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
+  (origs (n2 (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
+      (send (enc n2-0 (pubk b)))))
+  (label 29)
+  (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (origs (n1 (0 0)) (n1-0 (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation collapsed 1 0)
+  (strand-map 0 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 30)
+  (parent 29)
+  (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 n2-1 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-1) (n1 n1-0) (b b) (a a))
+  (precedes ((1 0) (2 0)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation nonce-test (added-strand resp 2) n1-0 (1 1)
+    (enc n1-0 a (pubk b)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-1 (pubk a)))))
+  (label 31)
+  (parent 29)
+  (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
+  (label 32)
+  (parent 30)
+  (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1-0) (b b) (a a))
+  (precedes ((1 0) (2 0)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation nonce-test (contracted (n2-1 n2-0)) n1-0 (1 1)
+    (enc n1-0 n2-0 (pubk a)) (enc n1-0 a (pubk b)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-0 (pubk a)))))
+  (label 33)
+  (parent 31)
+  (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
+    (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 (pubk a)))))
+  (label 34)
+  (parent 32)
+  (realized)
+  (shape)
+  (satisfies yes)
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0))))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 n2-1 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1-0) (b b) (a a))
+  (defstrand resp 2 (n2 n2-1) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-0 (pubk a))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-1 (pubk a)))))
+  (label 35)
+  (parent 33)
+  (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2-0) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1-0) (b b) (a a))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (goals
+    (forall ((n1 n1-0 n2 n2-0 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand init z 3 (n1 n1) (n2 n2) (a a) (b b))
+          (strand init z-0 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+          (non (privk a)) (non (privk b)) (uniq-at n1 z 0)
+          (uniq-at n1-0 z-0 0)) (= z z-0))))
+  (comment "Double initiator point of view")
+  (operation nonce-test (contracted (n2-1 n2-0)) n1 (0 1)
+    (enc n1 n2-0 (pubk a)) (enc n1 a (pubk b)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2-0 (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2 (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2 (pubk a))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 (pubk a)))))
+  (label 36)
+  (parent 35)
+  (realized)
+  (shape)
+  (satisfies
+    (no (= z z-0) (n1 n1-0) (n1-0 n1) (n2 n2) (n2-0 n2-0) (a a) (b b)
+      (z 1) (z-0 0)))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2-0) (n2-0 n2))))
+  (origs (n1 (0 0)) (n1-0 (1 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol nsl-typeless basic
+  (defrole init
+    (vars (a b name) (n1 text) (n2 mesg))
+    (trace (send (enc a n1 (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 text) (n1 mesg))
+    (trace (recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder-Lowe with untyped nonces"))
+
+(defskeleton nsl-typeless
+  (vars (n1 mesg) (n2 text) (a b name))
+  (defstrand resp 2 (n1 n1) (n2 n2) (b b) (a a))
+  (deflistener n2)
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand resp z 2 (n2 n2) (b b) (a a)) (listener z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+    ((recv n2) (send n2)))
+  (label 37)
+  (unrealized (1 0))
+  (preskeleton)
+  (maps)
+  (origs (n2 (0 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton nsl-typeless
+  (vars (n1 mesg) (n2 text) (a b name))
+  (defstrand resp 2 (n1 n1) (n2 n2) (b b) (a a))
+  (deflistener n2)
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand resp z 2 (n2 n2) (b b) (a a)) (listener z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+    ((recv n2) (send n2)))
+  (label 38)
+  (parent 37)
+  (unrealized (1 0))
+  (maps ((0 1) ((n2 n2) (a a) (b b) (n1 n1))))
+  (origs (n2 (0 1)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton nsl-typeless
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 2 (n1 n1) (n2 n2) (b b) (a a))
+  (deflistener n2)
+  (defstrand init 3 (n2 n2) (n1 n1) (a a) (b b))
+  (precedes ((0 1) (2 1)) ((2 2) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand resp z 2 (n2 n2) (b b) (a a)) (listener z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (operation nonce-test (added-strand init 3) n2 (1 0)
+    (enc n1 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
+    ((recv n2) (send n2))
+    ((send (enc a n1 (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 39)
+  (parent 38)
+  (unrealized (1 0))
+  (dead)
+  (maps ((0 1) ((n2 n2) (a a) (b b) (n1 n1))))
+  (comment "empty cohort"))
+
+(defskeleton nsl-typeless
+  (vars (n2 n2-0 text) (a b a-0 name))
+  (defstrand resp 2 (n1 a-0) (n2 n2) (b b) (a a))
+  (deflistener n2)
+  (defstrand resp 2 (n1 (cat n2 b)) (n2 n2-0) (b a) (a a-0))
+  (precedes ((0 1) (2 0)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (goals
+    (forall ((n2 text) (a b name) (z z-0 strd))
+      (implies
+        (and (strand resp z 2 (n2 n2) (b b) (a a)) (listener z-0 n2)
+          (non (privk a)) (non (privk b)) (uniq n2)) (false))))
+  (comment "Shows typeflaw in typeless NSL")
+  (operation nonce-test (added-strand resp 2) n2 (1 0)
+    (enc a-0 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces ((recv (enc a a-0 (pubk b))) (send (enc a-0 n2 b (pubk a))))
+    ((recv n2) (send n2))
+    ((recv (enc a-0 n2 b (pubk a)))
+      (send (enc (cat n2 b) n2-0 a (pubk a-0)))))
+  (label 40)
+  (parent 38)
+  (realized)
+  (shape)
+  (satisfies (no (fact false) (n2 n2) (a a) (b b) (z 0) (z-0 1)))
+  (maps ((0 1) ((n2 n2) (a a) (b b) (n1 a-0))))
+  (origs (n2 (0 1))))
+
+(comment "Nothing left to do")
diff --git a/tst/hashtest-key-hash.tst b/tst/hashtest-key-hash.tst
--- a/tst/hashtest-key-hash.tst
+++ b/tst/hashtest-key-hash.tst
@@ -1,6 +1,6 @@
 (herald "Hashtest")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/hashtest-key-hash.scm")
 
 (defprotocol hashtest basic
@@ -27,6 +27,7 @@
   (traces ((send (enc n k)) (recv (enc "h" n))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((n n) (k k))))
   (origs (n (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -44,6 +45,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((n n) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton hashtest
@@ -60,6 +62,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((n n) (k k))))
   (comment "empty cohort"))
 
 (defskeleton hashtest
diff --git a/tst/hashtest.tst b/tst/hashtest.tst
--- a/tst/hashtest.tst
+++ b/tst/hashtest.tst
@@ -1,6 +1,6 @@
 (herald "Hashtest")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/hashtest.scm")
 
 (defprotocol hashtest basic
@@ -27,6 +27,7 @@
   (traces ((send (enc n k)) (recv (hash n))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((n n) (k k))))
   (origs (n (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -44,6 +45,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((n n) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton hashtest
@@ -60,6 +62,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((n n) (k k))))
   (comment "empty cohort"))
 
 (defskeleton hashtest
diff --git a/tst/incompleteness_example.tst b/tst/incompleteness_example.tst
--- a/tst/incompleteness_example.tst
+++ b/tst/incompleteness_example.tst
@@ -1,7 +1,7 @@
 (herald incompleteness-example
   (comment "Shows a shape not found by CPSA"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/incompleteness_example.scm")
 
 (defprotocol incompleteness-example basic
@@ -28,6 +28,7 @@
   (label 0)
   (unrealized (0 1))
   (dead)
+  (maps ((0) ((k k) (n n))))
   (origs (n (0 0)))
   (comment "empty cohort"))
 
diff --git a/tst/isoreject-corrected.tst b/tst/isoreject-corrected.tst
--- a/tst/isoreject-corrected.tst
+++ b/tst/isoreject-corrected.tst
@@ -1,6 +1,6 @@
 (herald isoreject-corrected)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/isoreject-corrected.scm")
 
 (defprotocol isofix basic
@@ -30,6 +30,7 @@
       (recv (enc "second" nc nb b (privk a)))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (na na) (nb nb) (nc nc))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -51,6 +52,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (na na) (nb nb) (nc nc))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton isofix
@@ -103,6 +105,7 @@
       (send (enc "second" nc nb b (privk a)))))
   (label 3)
   (unrealized (0 1))
+  (maps ((0) ((b b) (a a) (na na) (nb nb) (nc nc))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/isoreject.tst b/tst/isoreject.tst
--- a/tst/isoreject.tst
+++ b/tst/isoreject.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/isoreject.scm")
 
 (defprotocol isoreject basic
@@ -28,6 +28,7 @@
       (recv (enc nc nb b (privk a)))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (na na) (nb nb) (nc nc))))
   (origs (nb (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -49,6 +50,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (na na) (nb nb) (nc nc))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton isoreject
@@ -122,6 +124,7 @@
       (send (enc nc nb b (privk a)))))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((b b) (a a) (na na) (nb nb) (nc nc))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
diff --git a/tst/kelly1.tst b/tst/kelly1.tst
--- a/tst/kelly1.tst
+++ b/tst/kelly1.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/kelly1.scm")
 
 (defprotocol kelly1 basic
@@ -47,6 +47,10 @@
       (recv (cat A C (enc policy (pubk S) Ns (privk A))))))
   (label 0)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((A A) (C C) (S S) (Ns Ns) (request request) (Check Check)
+        (policy policy) (response response))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -78,6 +82,10 @@
   (label 1)
   (parent 0)
   (unrealized (1 2))
+  (maps
+    ((0)
+      ((A A) (C C) (S S) (Ns Ns) (request request) (Check Check)
+        (policy policy) (response response))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kelly1
@@ -114,6 +122,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((A A) (C C) (S S) (Ns Ns) (request request) (Check Check)
+        (policy policy) (response response))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kelly1
diff --git a/tst/kerberos.tst b/tst/kerberos.tst
--- a/tst/kerberos.tst
+++ b/tst/kerberos.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/kerberos.scm")
 
 (defprotocol kerberos basic
@@ -36,6 +36,7 @@
       (recv (enc t-prime k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -60,6 +61,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 3))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton kerberos
@@ -83,6 +85,7 @@
   (label 2)
   (parent 0)
   (unrealized (0 3))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton kerberos
@@ -110,6 +113,7 @@
   (label 3)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton kerberos
@@ -135,6 +139,7 @@
   (parent 1)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "empty cohort"))
 
 (defskeleton kerberos
@@ -162,6 +167,7 @@
   (label 5)
   (parent 2)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton kerberos
@@ -187,6 +193,7 @@
   (parent 2)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "empty cohort"))
 
 (defskeleton kerberos
@@ -214,6 +221,7 @@
   (label 7)
   (parent 3)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -248,6 +256,7 @@
   (label 8)
   (parent 3)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton kerberos
@@ -276,6 +285,7 @@
   (parent 3)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "empty cohort"))
 
 (defskeleton kerberos
@@ -303,6 +313,7 @@
   (label 10)
   (parent 5)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -337,6 +348,7 @@
   (label 11)
   (parent 5)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton kerberos
@@ -365,6 +377,7 @@
   (parent 5)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "empty cohort"))
 
 (defskeleton kerberos
@@ -426,6 +439,7 @@
   (label 14)
   (parent 8)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -458,6 +472,7 @@
   (label 15)
   (parent 8)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -519,6 +534,7 @@
   (label 17)
   (parent 11)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -551,6 +567,7 @@
   (label 18)
   (parent 11)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -720,6 +737,7 @@
       (send (enc t-prime k))))
   (label 23)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -742,6 +760,7 @@
   (label 24)
   (parent 23)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton kerberos
@@ -763,6 +782,7 @@
   (label 25)
   (parent 23)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton kerberos
@@ -789,6 +809,7 @@
   (label 26)
   (parent 24)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -812,6 +833,7 @@
   (parent 24)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "empty cohort"))
 
 (defskeleton kerberos
@@ -838,6 +860,7 @@
   (label 28)
   (parent 25)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton kerberos
@@ -861,6 +884,7 @@
   (parent 25)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (t t) (t-prime t-prime) (l l) (k k))))
   (comment "empty cohort"))
 
 (defskeleton kerberos
diff --git a/tst/locn_envelope.tst b/tst/locn_envelope.tst
--- a/tst/locn_envelope.tst
+++ b/tst/locn_envelope.tst
@@ -1,7 +1,7 @@
 (herald "Envelope Protocol, location-based version" (bound 30)
   (limit 1200))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/locn_envelope.scm")
 (comment "Step count limited to 1200")
 (comment "Strand count bounded at 30")
@@ -97,9 +97,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -146,6 +145,7 @@
   (label 0)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -166,6 +166,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -194,6 +195,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -222,6 +224,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -254,6 +257,7 @@
   (label 4)
   (parent 3)
   (unrealized (3 1))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -290,6 +294,7 @@
   (label 5)
   (parent 4)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -335,6 +340,7 @@
   (label 6)
   (parent 5)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -383,6 +389,7 @@
   (label 7)
   (parent 6)
   (unrealized (5 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -527,9 +534,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -583,6 +589,10 @@
   (label 9)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -610,6 +620,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -647,6 +661,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 0) (2 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -683,6 +701,10 @@
   (label 12)
   (parent 11)
   (unrealized (0 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -730,6 +752,10 @@
   (label 13)
   (parent 12)
   (unrealized (3 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -785,6 +811,10 @@
   (label 14)
   (parent 13)
   (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -843,6 +873,10 @@
   (label 15)
   (parent 14)
   (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1000,9 +1034,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1057,6 +1090,10 @@
   (label 17)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -1085,6 +1122,10 @@
   (label 18)
   (parent 17)
   (unrealized (0 0) (2 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1123,6 +1164,10 @@
   (label 19)
   (parent 18)
   (unrealized (0 0) (1 0) (3 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1160,6 +1205,10 @@
   (label 20)
   (parent 19)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1202,6 +1251,10 @@
   (label 21)
   (parent 20)
   (unrealized (0 0) (4 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1248,6 +1301,10 @@
   (label 22)
   (parent 21)
   (unrealized (0 0) (4 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1302,6 +1359,10 @@
   (label 23)
   (parent 22)
   (unrealized (0 0) (5 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1359,6 +1420,10 @@
   (label 24)
   (parent 23)
   (unrealized (0 0) (6 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1415,6 +1480,10 @@
   (label 25)
   (parent 24)
   (unrealized (0 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1484,6 +1553,10 @@
   (label 26)
   (parent 25)
   (unrealized (7 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1558,6 +1631,10 @@
   (label 27)
   (parent 26)
   (unrealized (8 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1636,6 +1713,10 @@
   (label 28)
   (parent 27)
   (unrealized (9 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1791,10 +1872,10 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcr locn))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "pcr" y pcr)
-          (p "tpm-extend-enc" "pcr" z pcr))
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcr" z pcr)
+          (p "tpm-extend-enc" "pcr" y pcr))
         (or
           (= y z)
           (prec y (idx 2) z (idx 1))
@@ -1825,9 +1906,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1874,6 +1954,7 @@
   (label 30)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -1894,6 +1975,7 @@
   (label 31)
   (parent 30)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1922,6 +2004,7 @@
   (label 32)
   (parent 31)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -1950,6 +2033,7 @@
   (label 33)
   (parent 32)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -1982,6 +2066,7 @@
   (label 34)
   (parent 33)
   (unrealized (3 1))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2018,6 +2103,7 @@
   (label 35)
   (parent 34)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2063,6 +2149,7 @@
   (label 36)
   (parent 35)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2111,6 +2198,7 @@
   (label 37)
   (parent 36)
   (unrealized (5 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2232,10 +2320,10 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcr locn))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "pcr" y pcr)
-          (p "tpm-extend-enc" "pcr" z pcr))
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcr" z pcr)
+          (p "tpm-extend-enc" "pcr" y pcr))
         (or
           (= y z)
           (prec y (idx 2) z (idx 1))
@@ -2266,9 +2354,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -2322,6 +2409,10 @@
   (label 39)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -2349,6 +2440,10 @@
   (label 40)
   (parent 39)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2386,6 +2481,10 @@
   (label 41)
   (parent 40)
   (unrealized (0 0) (2 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2422,6 +2521,10 @@
   (label 42)
   (parent 41)
   (unrealized (0 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2469,6 +2572,10 @@
   (label 43)
   (parent 42)
   (unrealized (3 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2524,6 +2631,10 @@
   (label 44)
   (parent 43)
   (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2582,6 +2693,10 @@
   (label 45)
   (parent 44)
   (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2716,10 +2831,10 @@
   (defrule ordered-extends
     (forall ((y z strd) (pcr locn))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "pcr" y pcr)
-          (p "tpm-extend-enc" "pcr" z pcr))
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcr" z pcr)
+          (p "tpm-extend-enc" "pcr" y pcr))
         (or
           (= y z)
           (prec y (idx 2) z (idx 1))
@@ -2750,9 +2865,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -2807,6 +2921,10 @@
   (label 47)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -2835,6 +2953,10 @@
   (label 48)
   (parent 47)
   (unrealized (0 0) (2 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2873,6 +2995,10 @@
   (label 49)
   (parent 48)
   (unrealized (0 0) (1 0) (3 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2910,6 +3036,10 @@
   (label 50)
   (parent 49)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2952,6 +3082,10 @@
   (label 51)
   (parent 50)
   (unrealized (0 0) (4 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -2998,6 +3132,10 @@
   (label 52)
   (parent 51)
   (unrealized (0 0) (4 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3052,6 +3190,10 @@
   (label 53)
   (parent 52)
   (unrealized (0 0) (5 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3109,6 +3251,10 @@
   (label 54)
   (parent 53)
   (unrealized (0 0) (6 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3165,6 +3311,10 @@
   (label 55)
   (parent 54)
   (unrealized (0 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3234,6 +3384,10 @@
   (label 56)
   (parent 55)
   (unrealized (7 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3308,6 +3462,10 @@
   (label 57)
   (parent 56)
   (unrealized (8 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3386,6 +3544,10 @@
   (label 58)
   (parent 57)
   (unrealized (9 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus
@@ -3541,12 +3703,12 @@
   (defrule pcr-id-identifies-pcr
     (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "pcr-id" y pcr-id)
-          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcr" z pcr-0)
           (p "tpm-extend-enc" "pcr" y pcr)
-          (p "tpm-extend-enc" "pcr" z pcr-0))
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr-id" y pcr-id))
         (= pcr pcr-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -3574,9 +3736,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -3623,6 +3784,7 @@
   (label 60)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -3643,6 +3805,7 @@
   (label 61)
   (parent 60)
   (unrealized (1 2))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -3671,6 +3834,7 @@
   (label 62)
   (parent 61)
   (unrealized (0 0) (2 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -3699,6 +3863,7 @@
   (label 63)
   (parent 62)
   (unrealized (0 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -3731,6 +3896,7 @@
   (label 64)
   (parent 63)
   (unrealized (3 1))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -3767,6 +3933,7 @@
   (label 65)
   (parent 64)
   (unrealized (3 2))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -3812,6 +3979,7 @@
   (label 66)
   (parent 65)
   (unrealized (4 1))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -3860,6 +4028,7 @@
   (label 67)
   (parent 66)
   (unrealized (5 0))
+  (maps ((0 1) ((v v) (n n) (pcr-id pcr-id) (k k) (aik aik) (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -3981,12 +4150,12 @@
   (defrule pcr-id-identifies-pcr
     (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "pcr-id" y pcr-id)
-          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcr" z pcr-0)
           (p "tpm-extend-enc" "pcr" y pcr)
-          (p "tpm-extend-enc" "pcr" z pcr-0))
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr-id" y pcr-id))
         (= pcr pcr-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -4014,9 +4183,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -4070,6 +4238,10 @@
   (label 69)
   (unrealized (0 0) (1 2))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -4097,6 +4269,10 @@
   (label 70)
   (parent 69)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (1 3)) (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4134,6 +4310,10 @@
   (label 71)
   (parent 70)
   (unrealized (0 0) (2 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4170,6 +4350,10 @@
   (label 72)
   (parent 71)
   (unrealized (0 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4217,6 +4401,10 @@
   (label 73)
   (parent 72)
   (unrealized (3 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4272,6 +4460,10 @@
   (label 74)
   (parent 73)
   (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4330,6 +4522,10 @@
   (label 75)
   (parent 74)
   (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4464,12 +4660,12 @@
   (defrule pcr-id-identifies-pcr
     (forall ((y z strd) (pcr-id text) (pcr pcr-0 locn))
       (implies
-        (and (p "tpm-extend-enc" y (idx 3))
-          (p "tpm-extend-enc" z (idx 3))
-          (p "tpm-extend-enc" "pcr-id" y pcr-id)
-          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+        (and (p "tpm-extend-enc" z (idx 3))
+          (p "tpm-extend-enc" y (idx 3))
+          (p "tpm-extend-enc" "pcr" z pcr-0)
           (p "tpm-extend-enc" "pcr" y pcr)
-          (p "tpm-extend-enc" "pcr" z pcr-0))
+          (p "tpm-extend-enc" "pcr-id" z pcr-id)
+          (p "tpm-extend-enc" "pcr-id" y pcr-id))
         (= pcr pcr-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -4497,9 +4693,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -4554,6 +4749,10 @@
   (label 77)
   (unrealized (0 0) (1 0) (2 2))
   (preskeleton)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (2 3)) (n (2 0)))
   (comment "Not a skeleton"))
 
@@ -4582,6 +4781,10 @@
   (label 78)
   (parent 77)
   (unrealized (0 0) (2 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (origs (v (2 3)) (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4620,6 +4823,10 @@
   (label 79)
   (parent 78)
   (unrealized (0 0) (1 0) (3 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4657,6 +4864,10 @@
   (label 80)
   (parent 79)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4699,6 +4910,10 @@
   (label 81)
   (parent 80)
   (unrealized (0 0) (4 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4745,6 +4960,10 @@
   (label 82)
   (parent 81)
   (unrealized (0 0) (4 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4799,6 +5018,10 @@
   (label 83)
   (parent 82)
   (unrealized (0 0) (5 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4856,6 +5079,10 @@
   (label 84)
   (parent 83)
   (unrealized (0 0) (6 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4912,6 +5139,10 @@
   (label 85)
   (parent 84)
   (unrealized (0 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -4981,6 +5212,10 @@
   (label 86)
   (parent 85)
   (unrealized (7 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -5055,6 +5290,10 @@
   (label 87)
   (parent 86)
   (unrealized (8 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
@@ -5133,6 +5372,10 @@
   (label 88)
   (parent 87)
   (unrealized (9 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (tpm tpm))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope-plus-2
diff --git a/tst/mass.tst b/tst/mass.tst
--- a/tst/mass.tst
+++ b/tst/mass.tst
@@ -1,6 +1,6 @@
 (herald mass (bound 8))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/mass.lsp")
 (comment "Strand count bounded at 8")
 
@@ -30,6 +30,7 @@
       (recv (enc n2 (ltk a b)))))
   (label 0)
   (unrealized (0 4))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 3)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -72,6 +73,7 @@
   (label 2)
   (parent 0)
   (unrealized (1 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass
@@ -141,6 +143,7 @@
   (label 5)
   (parent 2)
   (unrealized (2 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass
@@ -219,6 +222,7 @@
   (label 8)
   (parent 5)
   (unrealized (3 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass
@@ -309,6 +313,7 @@
   (label 11)
   (parent 8)
   (unrealized (4 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass
@@ -408,6 +413,7 @@
   (label 14)
   (parent 11)
   (unrealized (5 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass
@@ -516,6 +522,7 @@
   (label 17)
   (parent 14)
   (unrealized (6 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass
@@ -636,4 +643,5 @@
   (parent 17)
   (unrealized (7 2))
   (aborted)
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "aborted"))
diff --git a/tst/mass2.tst b/tst/mass2.tst
--- a/tst/mass2.tst
+++ b/tst/mass2.tst
@@ -1,6 +1,6 @@
 (herald mass2 (bound 8))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/mass2.lsp")
 (comment "Strand count bounded at 8")
 
@@ -30,6 +30,7 @@
       (recv (enc n1 (ltk a b)))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -51,6 +52,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass2
@@ -95,6 +97,7 @@
   (label 3)
   (parent 1)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass2
@@ -167,6 +170,7 @@
   (label 6)
   (parent 3)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass2
@@ -249,6 +253,7 @@
   (label 9)
   (parent 6)
   (unrealized (4 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass2
@@ -341,6 +346,7 @@
   (label 12)
   (parent 9)
   (unrealized (5 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass2
@@ -443,6 +449,7 @@
   (label 15)
   (parent 12)
   (unrealized (6 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mass2
@@ -635,4 +642,5 @@
   (parent 15)
   (unrealized (7 1))
   (aborted)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "aborted"))
diff --git a/tst/missing_contraction.tst b/tst/missing_contraction.tst
--- a/tst/missing_contraction.tst
+++ b/tst/missing_contraction.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/missing_contraction.scm")
 
 (defprotocol missing-contraction basic
@@ -26,6 +26,7 @@
     ((recv (enc a m (pubk c)))))
   (label 0)
   (unrealized (1 0))
+  (maps ((0 1) ((m m) (a a) (c c) (n n) (b b))))
   (origs (m (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -93,6 +94,7 @@
   (label 3)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((m m) (a a) (c c))))
   (origs (m (0 0)))
   (comment "Not a skeleton"))
 
@@ -108,6 +110,7 @@
   (label 4)
   (parent 3)
   (unrealized (1 0))
+  (maps ((0 1) ((m m) (a a) (c c))))
   (origs (m (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -175,6 +178,7 @@
     ((recv (enc a m (pubk c)))))
   (label 7)
   (unrealized (1 0))
+  (maps ((0 1) ((m m) (a a) (b b) (c c) (n n))))
   (origs (m (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -211,6 +215,7 @@
   (label 9)
   (parent 7)
   (unrealized (1 0))
+  (maps ((0 1) ((m n) (a a) (b b) (c c) (n n))))
   (origs (n (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -232,6 +237,7 @@
   (seen-ops
     (8 (operation generalization separated n-0) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((m n) (a a) (b b) (c a) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 0 not yet seen"))
 
diff --git a/tst/neq_test.tst b/tst/neq_test.tst
--- a/tst/neq_test.tst
+++ b/tst/neq_test.tst
@@ -2,7 +2,7 @@
   (comment "First skeleton should have a shape,"
     "second should be dead."))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/neq_test.scm")
 
 (defprotocol neq-test basic
@@ -27,6 +27,7 @@
   (traces ((send (cat n1 (enc n1 n2 k))) (recv n2)))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((n1 n1) (n2 n2) (k k))))
   (origs (n2 (0 0)) (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -71,6 +72,7 @@
   (label 2)
   (unrealized (0 1))
   (dead)
+  (maps ((0) ((n1 n1) (n2 n2) (k k))))
   (origs (n2 (0 0)) (n1 (0 0)))
   (comment "empty cohort"))
 
diff --git a/tst/neuman-stubblebine-reauth.tst b/tst/neuman-stubblebine-reauth.tst
--- a/tst/neuman-stubblebine-reauth.tst
+++ b/tst/neuman-stubblebine-reauth.tst
@@ -1,20985 +1,22305 @@
 (herald neuman-stubblebine-reauth (bound 8))
 
-(comment "CPSA 4.4.5")
-(comment "All input read from tst/neuman-stubblebine-reauth.lsp")
-(comment "Strand count bounded at 8")
-
-(defprotocol neuman-stubblebine-reauth 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))
-  (defgenrule neqRl_indx
-    (forall ((x indx)) (implies (fact neq x x) (false))))
-  (defgenrule neqRl_strd
-    (forall ((x strd)) (implies (fact neq x x) (false))))
-  (defgenrule neqRl_mesg
-    (forall ((x mesg)) (implies (fact neq x x) (false)))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-  (origs (rb (0 1)) (rb-prime (1 1)))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (precedes ((2 1) (0 2)) ((2 1) (1 0)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (1 0))
-  (strand-map 0 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))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 2) (1 2) (2 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 3 0 resp 2)
-    (enc a ra-0 tb-0 (ltk b ks)) (2 0))
-  (strand-map 0 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 (ltk b 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))))
-  (label 2)
-  (parent 1)
-  (unrealized (0 2) (1 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp 2)
-    (enc a ra-0 tb-0 (ltk b ks)) (2 0))
-  (strand-map 0 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))))))
-  (label 3)
-  (parent 1)
-  (unrealized (0 2) (1 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc rb-prime k) (1 2))
-  (strand-map 0 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 (ltk b 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-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-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))
-  (label 4)
-  (parent 2)
-  (unrealized (0 2) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((3 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb-prime k)
-    (1 2))
-  (strand-map 0 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 (ltk b 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-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb-prime))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb-prime k)))))
-  (label 5)
-  (parent 2)
-  (unrealized (0 2) (3 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((3 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc rb-prime k) (1 2))
-  (strand-map 0 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 (ltk b 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-0 k tb-0 (ltk b-0 ks-0)) rb-prime))
-      (send (cat rb-prime-0 (enc rb-prime k)))))
-  (label 6)
-  (parent 2)
-  (unrealized (0 2) (3 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((3 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))
-  (strand-map 0 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 (ltk b 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 k) (send k)))
-  (label 7)
-  (parent 2)
-  (unrealized (0 2) (3 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc rb-prime k) (1 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 8)
-  (parent 3)
-  (unrealized (0 2) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb-prime) (tb tb-1) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb-prime k)
-    (1 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 9)
-  (parent 3)
-  (unrealized (0 2) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc rb-prime k) (1 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 10)
-  (parent 3)
-  (unrealized (0 2) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 11)
-  (parent 3)
-  (unrealized (0 2) (4 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((3 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (3 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-  (label 12)
-  (parent 4)
-  (unrealized (0 2) (3 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((3 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-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 13)
-  (parent 5)
-  (unrealized (0 2) (3 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((3 1) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (3 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))))
-  (label 14)
-  (parent 6)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 15)
-  (parent 8)
-  (unrealized (0 2) (4 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb-prime) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 16)
-  (parent 9)
-  (unrealized (0 2) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 17)
-  (parent 10)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 3) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (3 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 18)
-  (parent 12)
-  (unrealized (0 2) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 2) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (3 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 19)
-  (parent 12)
-  (unrealized (0 2) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (3 0))
-    ((3 1) (1 0)) ((3 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 4 1 resp-reauth 2)
-    (enc ra-prime-0 k) (3 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
-  (label 20)
-  (parent 12)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (3 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 21)
-  (parent 12)
-  (unrealized (0 2) (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (3 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv k) (send k)))
-  (label 22)
-  (parent 12)
-  (unrealized (0 2) (4 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((3 0) (0 0)) ((3 2) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 4 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (3 1))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))))
-  (label 23)
-  (parent 13)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((3 1) (1 2)) ((4 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 14)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))
-    ((3 1) (1 2)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 25)
-  (parent 14)
-  (unrealized (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb ra-prime rb-prime rb rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 4 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (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 26)
-  (parent 14)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 rb-prime-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 27)
-  (parent 14)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener 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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
-  (label 28)
-  (parent 14)
-  (unrealized (4 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 29)
-  (parent 15)
-  (unrealized (0 2) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-1) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 30)
-  (parent 15)
-  (unrealized (0 2) (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((3 1) (2 0))
-    ((4 1) (1 0)) ((4 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
-  (label 31)
-  (parent 15)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 32)
-  (parent 15)
-  (unrealized (0 2) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 33)
-  (parent 15)
-  (unrealized (0 2) (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc b ra-1 k tb-0 (ltk a ks)) (4 1))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 34)
-  (parent 16)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 35)
-  (parent 17)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 3) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 36)
-  (parent 18)
-  (unrealized (0 2) (4 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 2) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-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 37)
-  (parent 19)
-  (unrealized (0 2) (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (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 38)
-  (parent 20)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 1))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 39)
-  (parent 20)
-  (unrealized (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (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 40)
-  (parent 20)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
-    ((recv k) (send k)))
-  (label 41)
-  (parent 20)
-  (unrealized (4 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 42)
-  (parent 21)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-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 43)
-  (parent 23)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 1))
-    ((3 0) (0 0)) ((3 2) (1 2)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 23)
-  (unrealized (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb ra-prime rb-prime rb text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 4 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (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 45)
-  (parent 23)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 46)
-  (parent 23)
-  (unrealized (4 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (deflistener 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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
-  (label 47)
-  (parent 23)
-  (unrealized (4 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((3 1) (1 2)) ((4 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 48)
-  (parent 24)
-  (unrealized (4 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))
-    ((3 1) (1 2)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-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 49)
-  (parent 25)
-  (unrealized (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 rb-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 50)
-  (parent 27)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 51)
-  (parent 29)
-  (unrealized (0 2) (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a)
-    (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 52)
-  (parent 30)
-  (unrealized (0 2) (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((3 1) (2 0))
-    ((4 1) (1 0)) ((4 3) (1 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
-  (label 53)
-  (parent 31)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 54)
-  (parent 32)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 55)
-  (parent 34)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 56)
-  (parent 35)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 57)
-  (parent 35)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra ra-prime rb-prime tb ra-0 rb rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-1 k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (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 58)
-  (parent 35)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 59)
-  (parent 35)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 60)
-  (parent 35)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 61)
-  (parent 36)
-  (unrealized (0 2) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 62)
-  (parent 36)
-  (unrealized (0 2) (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2)
-    (enc ra-prime-1 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 63)
-  (parent 36)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 64)
-  (parent 36)
-  (unrealized (0 2) (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 65)
-  (parent 36)
-  (unrealized (0 2) (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 0) (0 0))
-    ((4 2) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (4 1))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))))
-  (label 66)
-  (parent 37)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 67)
-  (parent 38)
-  (unrealized (4 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 1))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 68)
-  (parent 39)
-  (unrealized (4 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 69)
-  (parent 40)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (3 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 70)
-  (parent 42)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 71)
-  (parent 42)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb ra-prime rb-prime rb ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (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 (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 72)
-  (parent 42)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 rb-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 73)
-  (parent 42)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 74)
-  (parent 42)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-  (label 75)
-  (parent 43)
-  (unrealized (4 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 1))
-    ((3 0) (0 0)) ((3 2) (1 2)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((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 44)
-  (unrealized (4 1))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
-    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 77)
-  (parent 46)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 78)
-  (parent 48)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 79)
-  (parent 48)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((1 1) (4 2)) ((2 1) (4 0))
-    ((3 1) (1 2)) ((4 1) (1 0)) ((4 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 80)
-  (parent 48)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 rb-prime-1
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 81)
-  (parent 48)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 82)
-  (parent 48)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (4 1))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 83)
-  (parent 49)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 84)
-  (parent 51)
-  (unrealized (0 2) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-1) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 85)
-  (parent 51)
-  (unrealized (0 2) (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (precedes ((1 1) (5 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 86)
-  (parent 51)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 87)
-  (parent 51)
-  (unrealized (0 2) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 88)
-  (parent 51)
-  (unrealized (0 2) (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a)
-    (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-1 k tb-0 (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 89)
-  (parent 52)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (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 90)
-  (parent 53)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (5 1)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (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 91)
-  (parent 53)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 0)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (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 92)
-  (parent 53)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 1) (2 0))
-    ((4 1) (1 0)) ((4 3) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
-    ((recv k) (send k)))
-  (label 93)
-  (parent 53)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 94)
-  (parent 54)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 95)
-  (parent 55)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 96)
-  (parent 55)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra ra-prime rb-prime tb ra-0 rb rb-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-1 k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (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 97)
-  (parent 55)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 98)
-  (parent 55)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 99)
-  (parent 55)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 100)
-  (parent 56)
-  (unrealized (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 101)
-  (parent 57)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 102)
-  (parent 59)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 103)
-  (parent 61)
-  (unrealized (0 2) (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 104)
-  (parent 62)
-  (unrealized (0 2) (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime 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-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
-  (label 105)
-  (parent 63)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 106)
-  (parent 63)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 107)
-  (parent 63)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))) ((recv k) (send k)))
-  (label 108)
-  (parent 63)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 109)
-  (parent 64)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 110)
-  (parent 66)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 1)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 0) (0 0))
-    ((4 2) (3 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 111)
-  (parent 66)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb ra-prime rb-prime rb ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 0) (0 0))
-    ((4 2) (3 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (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 (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)))))
-  (label 112)
-  (parent 66)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 113)
-  (parent 66)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (deflistener 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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
-  (label 114)
-  (parent 66)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 115)
-  (parent 67)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 116)
-  (parent 67)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 117)
-  (parent 67)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 118)
-  (parent 67)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 1))
-    ((3 1) (1 0)) ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (4 1))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 119)
-  (parent 68)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (ra-prime (3 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 120)
-  (parent 70)
-  (unrealized (5 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 121)
-  (parent 71)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 rb-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 122)
-  (parent 73)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 123)
-  (parent 75)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
-    ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 124)
-  (parent 75)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((1 1) (4 2)) ((2 1) (4 0))
-    ((3 0) (0 0)) ((3 2) (1 2)) ((4 1) (1 0)) ((4 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 5 1 resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
-  (label 125)
-  (parent 75)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (ra-prime (4 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
-    (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 126)
-  (parent 75)
-  (unrealized (5 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener 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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (4 2))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
-  (label 127)
-  (parent 75)
-  (unrealized (5 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 128)
-  (parent 78)
-  (unrealized (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 129)
-  (parent 79)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 rb-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 130)
-  (parent 81)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 131)
-  (parent 84)
-  (unrealized (0 2) (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a)
-    (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 132)
-  (parent 85)
-  (unrealized (0 2) (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((1 1) (5 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 133)
-  (parent 86)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 134)
-  (parent 87)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 135)
-  (parent 89)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 136)
-  (parent 90)
-  (unrealized (5 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 1)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (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 137)
-  (parent 91)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 0)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 138)
-  (parent 92)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 139)
-  (parent 94)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 140)
-  (parent 94)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 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 k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-1 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (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)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
-  (label 141)
-  (parent 94)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 142)
-  (parent 94)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 143)
-  (parent 94)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 144)
-  (parent 95)
-  (unrealized (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 145)
-  (parent 96)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 146)
-  (parent 98)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 147)
-  (parent 100)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 148)
-  (parent 100)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((1 1) (5 2)) ((2 1) (5 0))
-    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (1 0)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
-  (label 149)
-  (parent 100)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 150)
-  (parent 100)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 151)
-  (parent 100)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 152)
-  (parent 101)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 153)
-  (parent 103)
-  (unrealized (0 2) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 154)
-  (parent 103)
-  (unrealized (0 2) (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (0 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-2 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 155)
-  (parent 103)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 156)
-  (parent 103)
-  (unrealized (0 2) (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 157)
-  (parent 103)
-  (unrealized (0 2) (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 158)
-  (parent 104)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 159)
-  (parent 105)
-  (unrealized (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime 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)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 160)
-  (parent 106)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 161)
-  (parent 107)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((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 162)
-  (parent 109)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 163)
-  (parent 109)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (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 (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 164)
-  (parent 109)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 165)
-  (parent 109)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))) ((recv k) (send k)))
-  (label 166)
-  (parent 109)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 167)
-  (parent 110)
-  (unrealized (5 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 1)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 0) (0 0))
-    ((4 2) (3 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((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 168)
-  (parent 111)
-  (unrealized (5 1))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 169)
-  (parent 113)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 170)
-  (parent 115)
-  (unrealized (5 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 171)
-  (parent 116)
-  (unrealized (5 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 1) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 172)
-  (parent 117)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (3 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (5 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 1) (1 0)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
-  (label 173)
-  (parent 120)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((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 174)
-  (parent 120)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 175)
-  (parent 120)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((4 1) (5 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 4 resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 176)
-  (parent 120)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
-  (label 177)
-  (parent 120)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv k) (send k)))
-  (label 178)
-  (parent 120)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (3 2))
-    ((5 0) (0 0)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (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 179)
-  (parent 121)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 180)
-  (parent 123)
-  (unrealized (5 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
-    ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 181)
-  (parent 124)
-  (unrealized (5 1))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 182)
-  (parent 126)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 183)
-  (parent 128)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 184)
-  (parent 128)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((1 1) (5 2)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (1 0))
-    ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 185)
-  (parent 128)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-1 (enc ra-prime-1 k)))))
-  (label 186)
-  (parent 128)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 187)
-  (parent 128)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 0) (0 0))
-    ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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))
-      (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)))))
-  (label 188)
-  (parent 129)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
-  (precedes ((1 1) (6 2)) ((2 1) (0 2)) ((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) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 191)
-  (parent 131)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a)
-    (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb-0 (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 194)
-  (parent 132)
-  (unrealized (0 2))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime 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-1))
-      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
-  (label 195)
-  (parent 133)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (6 1)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime 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)) rb))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
-  (label 196)
-  (parent 133)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (6 0)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 197)
-  (parent 133)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0)) ((5 3) (4 2))
-    ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))) ((recv k) (send k)))
-  (label 198)
-  (parent 133)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 199)
-  (parent 134)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 200)
-  (parent 135)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 201)
-  (parent 135)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-1 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (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 202)
-  (parent 135)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 203)
-  (parent 135)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 204)
-  (parent 135)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 205)
-  (parent 136)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 206)
-  (parent 136)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 207)
-  (parent 136)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 208)
-  (parent 136)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 1)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 1))
-    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 209)
-  (parent 137)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 210)
-  (parent 139)
-  (unrealized (6 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 211)
-  (parent 140)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 212)
-  (parent 142)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 213)
-  (parent 144)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 214)
-  (parent 144)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 215)
-  (parent 144)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-0 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 216)
-  (parent 144)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 217)
-  (parent 144)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 218)
-  (parent 145)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 219)
-  (parent 147)
-  (unrealized (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 220)
-  (parent 148)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 221)
-  (parent 150)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k))))
-  (label 222)
-  (parent 153)
-  (unrealized (0 2) (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra-0))
-      (recv
-        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k)))))
-  (label 223)
-  (parent 154)
-  (unrealized (0 2) (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (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 224)
-  (parent 155)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 225)
-  (parent 155)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (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 226)
-  (parent 155)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))) ((recv k) (send k)))
-  (label 227)
-  (parent 155)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 228)
-  (parent 156)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 229)
-  (parent 158)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 230)
-  (parent 158)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (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 (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))
-      (recv
-        (cat (enc b ra 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 231)
-  (parent 158)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 232)
-  (parent 158)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 233)
-  (parent 158)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((4 3) (5 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 4 init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 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 234)
-  (parent 159)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 235)
-  (parent 159)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 236)
-  (parent 159)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 237)
-  (parent 159)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 238)
-  (parent 159)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
-    ((5 0) (0 0)) ((5 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 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 239)
-  (parent 160)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (ra-prime (4 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-prime-2 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
-  (label 240)
-  (parent 162)
-  (unrealized (6 2))
-  (comment "7 in cohort - 7 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((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 241)
-  (parent 163)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      rb-prime-1 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 242)
-  (parent 165)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 243)
-  (parent 167)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 244)
-  (parent 167)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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)) ((4 2) (5 2)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 4 init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 245)
-  (parent 167)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (5 2)) ((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) (1 0)) ((5 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 246)
-  (parent 167)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (ra-prime (5 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 247)
-  (parent 167)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener 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)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 248)
-  (parent 167)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 249)
-  (parent 170)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 250)
-  (parent 170)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 251)
-  (parent 170)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 252)
-  (parent 170)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 1)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
-    ((5 0) (0 0)) ((5 2) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (5 1))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb 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)))))
-  (label 253)
-  (parent 171)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (ra-prime (3 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-prime-2 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 254)
-  (parent 174)
-  (unrealized (6 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((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 255)
-  (parent 175)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      rb-prime-1 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
-  (label 256)
-  (parent 177)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 257)
-  (parent 180)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
-      text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
-      (recv
-        (cat (enc b-0 ra-0 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 258)
-  (parent 180)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((1 1) (5 2)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
-    ((5 1) (1 0)) ((5 3) (4 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 6 1 resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 259)
-  (parent 180)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (ra-prime (5 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 260)
-  (parent 180)
-  (unrealized (6 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (5 2))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 261)
-  (parent 180)
-  (unrealized (6 0))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-prime-2 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 262)
-  (parent 183)
-  (unrealized (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 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 263)
-  (parent 184)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      rb-prime-1 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
-  (label 264)
-  (parent 186)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((1 1) (6 2)) ((2 1) (0 2)) ((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) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 265)
-  (parent 191)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc a k tb-0 (ltk b ks)) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 266)
-  (parent 194)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 267)
-  (parent 195)
-  (unrealized (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 1)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 268)
-  (parent 196)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 0)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 269)
-  (parent 197)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 ra-prime-1
-      rb-prime-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (1 0)) ((1 1) (0 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 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-1 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (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)))
-    ((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 272)
-  (parent 199)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 275)
-  (parent 200)
-  (unrealized (6 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 276)
-  (parent 201)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 277)
-  (parent 203)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 278)
-  (parent 205)
-  (unrealized (6 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 279)
-  (parent 206)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 280)
-  (parent 207)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((1 1) (6 2)) ((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) (1 0)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
-  (label 281)
-  (parent 210)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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)) ((5 1) (6 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 5 resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 284)
-  (parent 210)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 287)
-  (parent 211)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 288)
-  (parent 213)
-  (unrealized (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 289)
-  (parent 214)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (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)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 290)
-  (parent 216)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((1 1) (6 2)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
-    ((6 1) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 293)
-  (parent 219)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 296)
-  (parent 220)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (0 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-3 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-2 (enc ra-prime k)))
-      (send (enc ra-prime-2 k))))
-  (label 299)
-  (parent 222)
-  (unrealized (0 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
-    ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k)))))
-  (label 302)
-  (parent 223)
-  (unrealized (0 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
-  (label 303)
-  (parent 224)
-  (unrealized (6 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 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 304)
-  (parent 225)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (cat (enc a k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 305)
-  (parent 226)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (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 (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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 308)
-  (parent 228)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
-  (label 311)
-  (parent 229)
-  (unrealized (6 2))
-  (comment "7 in cohort - 7 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 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 312)
-  (parent 230)
-  (unrealized (6 1))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 k tb (ltk b ks)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 313)
-  (parent 232)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 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 314)
-  (parent 235)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 315)
-  (parent 236)
-  (unrealized (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 316)
-  (parent 237)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((4 3) (6 2)) ((5 1) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 4 init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((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 318)
-  (parent 240)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((5 1) (6 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 5 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((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 320)
-  (parent 240)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (1 0)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((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 321)
-  (parent 240)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (4 2)) ((6 0) (0 0)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((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 324)
-  (parent 241)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (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)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 325)
-  (parent 243)
-  (unrealized (6 2))
-  (comment "6 in cohort - 6 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (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)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 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 326)
-  (parent 244)
-  (unrealized (6 1))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 327)
-  (parent 247)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 328)
-  (parent 249)
-  (unrealized (6 2))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 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 329)
-  (parent 250)
-  (unrealized (6 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)) ra-prime-1))
-      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
-  (label 330)
-  (parent 251)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (3 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 331)
-  (parent 254)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((4 1) (6 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 4 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat ra-prime-1 (enc ra-prime-0 k)))
-      (send (enc ra-prime-1 k))))
-  (label 334)
-  (parent 254)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
-    ((4 1) (3 2)) ((5 3) (0 2)) ((6 0) (0 0)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((send (cat a ra))
-      (recv
-        (cat (enc b ra 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 337)
-  (parent 255)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
-      (send (enc ra-prime-1 k))))
-  (label 338)
-  (parent 257)
-  (unrealized (6 2))
-  (comment "5 in cohort - 5 not yet seen"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 339)
-  (parent 258)
-  (unrealized (6 1))
-  (dead)
-  (comment "empty cohort"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (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 k tb (ltk a ks)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 340)
-  (parent 260)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((1 1) (6 2)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 343)
-  (parent 262)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 2)) ((4 3) (0 2))
-    ((5 3) (4 2)) ((6 0) (0 0)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 ra))
-      (recv
-        (cat (enc b ra 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 346)
-  (parent 263)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((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 3) (4 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-1 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (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)))
-    ((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 353)
-  (parent 266)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((5 3) (6 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 5 init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 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 356)
-  (parent 267)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 1)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
-    ((5 3) (4 2)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime 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)) rb))
-      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
-  (label 361)
-  (parent 268)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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)) ((5 2) (6 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 5 init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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-0))
-      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
-  (label 364)
-  (parent 275)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((1 1) (6 2)) ((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) (1 0)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
-  (label 365)
-  (parent 275)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 368)
-  (parent 276)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
-    ((5 3) (0 2)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 373)
-  (parent 279)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((1 1) (6 2)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
-    ((6 1) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (enc ra-prime-0 k))))
-  (label 376)
-  (parent 288)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-1 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 379)
-  (parent 289)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 ra-prime-2 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
-    ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-0 k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (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 (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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k)))))
-  (label 386)
-  (parent 302)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (ra-prime (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((5 3) (6 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 5 init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 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 389)
-  (parent 303)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((4 3) (6 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 4 init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 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 390)
-  (parent 303)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 3) (3 2))
-    ((5 1) (1 0)) ((5 3) (4 2)) ((6 0) (0 0)) ((6 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 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 395)
-  (parent 304)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (ra-prime (5 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((4 3) (6 2)) ((5 0) (0 0)) ((5 2) (4 2))
-    ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 4 init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 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 396)
-  (parent 311)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((5 2) (6 2))
-    ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 5 init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 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 398)
-  (parent 311)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (1 0))
-    ((6 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 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 399)
-  (parent 311)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (ra-prime (6 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((5 3) (0 2)) ((6 0) (0 0)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 ra))
-      (recv
-        (cat (enc b ra 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 403)
-  (parent 314)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (ra-prime (4 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
-    ((4 3) (3 2)) ((4 3) (6 2)) ((5 3) (0 2)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 4 init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat ra-prime-1 (enc ra-prime-0 k)))
-      (send (enc ra-prime-1 k))))
-  (label 404)
-  (parent 315)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (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)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((4 2) (6 2)) ((5 3) (0 2))
-    ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 4 init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
-      (recv (cat ra-prime-1 (enc ra-prime-0 k)))
-      (send (enc ra-prime-1 k))))
-  (label 411)
-  (parent 325)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
-    ((2 1) (4 1)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
-    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (1 0))
-    ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 412)
-  (parent 325)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (ra-prime (6 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 0)) ((3 3) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 0) (0 0)) ((6 2) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 2 keyserver 2)
-    (enc b ra-0 k tb (ltk a ks)) (6 1))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 ra))
-      (recv
-        (cat (enc b ra 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 419)
-  (parent 329)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (ra-prime (3 1))
-    (rb-prime (1 1))))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
-    (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((1 1) (6 2)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (displaced 7 1 resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))))
-  (label 422)
-  (parent 338)
-  (realized)
-  (shape)
-  (maps
-    ((0 1)
-      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
-        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
-  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (ra-prime (6 1))
-    (rb-prime (1 1))))
-
-(comment "Strand bound exceeded--aborting run")
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 189)
-  (parent 131)
-  (unrealized (0 2) (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-2) (tb tb-1) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 190)
-  (parent 131)
-  (unrealized (0 2) (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 192)
-  (parent 131)
-  (unrealized (0 2) (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 193)
-  (parent 131)
-  (unrealized (0 2) (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (7 2)) ((1 1) (4 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 1) (5 2)) ((7 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((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 270)
-  (parent 199)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (7 1)) ((1 1) (4 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 1) (5 2)) ((7 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((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 271)
-  (parent 199)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      rb-prime-0 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (7 0)) ((1 1) (4 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 1) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 273)
-  (parent 199)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((1 1) (4 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 1) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))) ((recv k) (send k)))
-  (label 274)
-  (parent 199)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      ra-prime-1 ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 282)
-  (parent 210)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      ra-prime-1 ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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)) ((2 1) (7 1)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 283)
-  (parent 210)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
-      ra-prime-1 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
-  (label 285)
-  (parent 210)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener 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)) ((2 1) (7 0)) ((3 1) (2 0))
-    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv k) (send k)))
-  (label 286)
-  (parent 210)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      ra-prime-1 ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 291)
-  (parent 219)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      ra-prime-1 ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 292)
-  (parent 219)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
-      ra-prime-1 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
-      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
-  (label 294)
-  (parent 219)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 2))
-    ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))) ((recv k) (send k)))
-  (label 295)
-  (parent 219)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 ra-prime-4 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-4)
-    (rb-prime ra-prime-3) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((2 1) (7 0)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
-    ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-3 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 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-4))
-      (recv (cat ra-prime-3 (enc ra-prime-4 k)))
-      (send (enc ra-prime-3 k))))
-  (label 297)
-  (parent 222)
-  (unrealized (0 2) (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-3) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((2 1) (7 1)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
-    ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-3 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-3))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-3 k)))))
-  (label 298)
-  (parent 222)
-  (unrealized (0 2) (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-3)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((2 1) (7 0)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
-    ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-3 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-3))
-      (send (cat rb-prime-0 (enc ra-prime-3 k)))))
-  (label 300)
-  (parent 222)
-  (unrealized (0 2) (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
-    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
-    ((2 1) (7 0)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
-    ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-3 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k))) ((recv k) (send k)))
-  (label 301)
-  (parent 222)
-  (unrealized (0 2) (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
-    ((7 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 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-3))
-      (recv (cat rb (enc ra-prime-3 k))) (send (enc rb k))))
-  (label 306)
-  (parent 228)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
-    ((7 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k))))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 307)
-  (parent 228)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
-    ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-1 (enc rb k)))))
-  (label 309)
-  (parent 228)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
-    ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))) ((recv k) (send k)))
-  (label 310)
-  (parent 228)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-prime-2 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
-    ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 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-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k))))
-  (label 317)
-  (parent 240)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-prime-2 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
-    ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 319)
-  (parent 240)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-prime-2 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-1 (enc ra-prime-2 k)))))
-  (label 322)
-  (parent 240)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
-      ra-prime-2 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 323)
-  (parent 240)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-prime-2 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 332)
-  (parent 254)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-prime-2 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1))
-    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 333)
-  (parent 254)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-prime-2 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-1 (enc ra-prime-2 k)))))
-  (label 335)
-  (parent 254)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
-      ra-prime-2 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 336)
-  (parent 254)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-prime-2 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 341)
-  (parent 262)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-prime-2 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 342)
-  (parent 262)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-prime-2 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-1 (enc ra-prime-2 k)))))
-  (label 344)
-  (parent 262)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
-      ra-prime-2 text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
-    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 2))
-    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 345)
-  (parent 262)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (7 2)) ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (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 347)
-  (parent 265)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (7 1)) ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (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 348)
-  (parent 265)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (7 0)) ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (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 349)
-  (parent 265)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k))) ((recv k) (send k)))
-  (label 350)
-  (parent 265)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 351)
-  (parent 266)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 352)
-  (parent 266)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 354)
-  (parent 266)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 355)
-  (parent 266)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 357)
-  (parent 267)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 358)
-  (parent 267)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 359)
-  (parent 267)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 360)
-  (parent 267)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 362)
-  (parent 275)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 363)
-  (parent 275)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 366)
-  (parent 275)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 367)
-  (parent 275)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 0))
-    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 369)
-  (parent 278)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0)) ((4 1) (1 0))
-    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 370)
-  (parent 278)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 0))
-    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 371)
-  (parent 278)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
-    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 0))
-    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 372)
-  (parent 278)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 374)
-  (parent 288)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 375)
-  (parent 288)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (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))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-1 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 377)
-  (parent 288)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (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 k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 378)
-  (parent 288)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
-    ((7 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-2 (enc ra-prime k)))
-      (send (enc ra-prime-2 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-3))
-      (recv (cat rb (enc ra-prime-3 k))) (send (enc rb k))))
-  (label 380)
-  (parent 299)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
-    ((7 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-2 (enc ra-prime k)))
-      (send (enc ra-prime-2 k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 381)
-  (parent 299)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
-    ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-2 (enc ra-prime k)))
-      (send (enc ra-prime-2 k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 382)
-  (parent 299)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
-    ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-2 (enc ra-prime k)))
-      (send (enc ra-prime-2 k))) ((recv k) (send k)))
-  (label 383)
-  (parent 299)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3) (rb-prime rb)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
-    ((6 2) (5 2)) ((7 3) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 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-3))
-      (recv (cat rb (enc ra-prime-3 k))) (send (enc rb k))))
-  (label 384)
-  (parent 302)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
-    (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
-    ((6 2) (5 2)) ((7 2) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k))))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 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 385)
-  (parent 302)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
-    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
-    ((6 2) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
-    (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k))))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
-      (send (cat rb-prime-0 (enc rb k)))))
-  (label 387)
-  (parent 302)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
-    (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
-    ((6 2) (5 2)) ((7 1) (0 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc rb k) (0 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 ra))
-      (recv
-        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
-          ra-prime-2))
-      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k))))
-    ((recv k) (send k)))
-  (label 388)
-  (parent 302)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
-    ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 391)
-  (parent 303)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
-    ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 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-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k))))
-  (label 392)
-  (parent 303)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 393)
-  (parent 303)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-1 (enc ra-prime k)))
-      (send (enc ra-prime-1 k)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 394)
-  (parent 303)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 1))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
-    ((6 3) (0 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((send (cat a-0 ra-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 397)
-  (parent 311)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
-    ((6 3) (0 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 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-3))
-      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
-      (send (enc ra-prime-2 k))))
-  (label 400)
-  (parent 311)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
-    ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 401)
-  (parent 311)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
-    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
-    ((6 3) (0 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((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))
-      (recv
-        (cat (enc b ra 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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
-      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
-    ((recv k) (send k)))
-  (label 402)
-  (parent 311)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 3) (1 2))
-    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 405)
-  (parent 315)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 406)
-  (parent 315)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 407)
-  (parent 315)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
-    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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)))
-    ((recv (enc a k tb (ltk b ks)))
-      (send (cat (enc a k tb (ltk b ks)) ra-prime))
-      (recv (cat ra-prime-0 (enc ra-prime k)))
-      (send (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 408)
-  (parent 315)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
-    ((6 3) (5 2)) ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 409)
-  (parent 325)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (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)) ((2 1) (6 0)) ((2 1) (7 1))
-    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
-    ((6 3) (5 2)) ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 410)
-  (parent 325)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (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)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
-    ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 413)
-  (parent 325)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
-    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener 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)) ((2 1) (6 0)) ((2 1) (7 0))
-    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
-    ((6 3) (5 2)) ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 414)
-  (parent 325)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 0))
-    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 415)
-  (parent 328)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (1 0))
-    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 416)
-  (parent 328)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 0))
-    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 417)
-  (parent 328)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 0))
-    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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))
-      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 418)
-  (parent 328)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
-    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 0) (0 0))
-    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 3) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init-reauth 4)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
-      (send (cat (enc a-0 k tb-0 (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 420)
-  (parent 338)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
-    (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 0) (0 0))
-    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 2) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0))
-      (recv
-        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
-          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
-  (label 421)
-  (parent 338)
-  (unrealized (7 1))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
-    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 0) (0 0))
-    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-strand resp-reauth 2)
-    (enc ra-prime-2 k) (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
-      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
-  (label 423)
-  (parent 338)
-  (unrealized (7 0))
-  (aborted)
-  (comment "aborted"))
-
-(defskeleton neuman-stubblebine-reauth
-  (vars (k skey)
-    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
-      text) (a b ks name))
-  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
-  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
-    (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
-    (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
-    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
-  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
-    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
-  (deflistener k)
-  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
-    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 0) (0 0))
-    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
-    ((7 1) (6 2)))
-  (non-orig (ltk a ks) (ltk b ks))
-  (uniq-orig k ra rb ra-prime rb-prime)
-  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
-    (6 2))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
-      (send (cat (enc a k tb (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 424)
-  (parent 338)
-  (unrealized (7 0))
-  (aborted)
+(comment "CPSA 4.4.7")
+(comment "All input read from tst/neuman-stubblebine-reauth.lsp")
+(comment "Strand count bounded at 8")
+
+(defprotocol neuman-stubblebine-reauth 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))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (origs (rb (0 1)) (rb-prime (1 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (precedes ((2 1) (0 2)) ((2 1) (1 0)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (1 0))
+  (strand-map 0 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))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 2) (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 3 0 resp 2)
+    (enc a ra-0 tb-0 (ltk b ks)) (2 0))
+  (strand-map 0 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 (ltk b 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))))
+  (label 2)
+  (parent 1)
+  (unrealized (0 2) (1 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp 2)
+    (enc a ra-0 tb-0 (ltk b ks)) (2 0))
+  (strand-map 0 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))))))
+  (label 3)
+  (parent 1)
+  (unrealized (0 2) (1 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((3 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc rb-prime k) (1 2))
+  (strand-map 0 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 (ltk b 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-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-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))
+  (label 4)
+  (parent 2)
+  (unrealized (0 2) (3 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((3 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb-prime k)
+    (1 2))
+  (strand-map 0 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 (ltk b 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-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) rb-prime))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb-prime k)))))
+  (label 5)
+  (parent 2)
+  (unrealized (0 2) (3 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((3 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc rb-prime k) (1 2))
+  (strand-map 0 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 (ltk b 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-0 k tb-0 (ltk b-0 ks-0)) rb-prime))
+      (send (cat rb-prime-0 (enc rb-prime k)))))
+  (label 6)
+  (parent 2)
+  (unrealized (0 2) (3 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((3 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))
+  (strand-map 0 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 (ltk b 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 k) (send k)))
+  (label 7)
+  (parent 2)
+  (unrealized (0 2) (3 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc rb-prime k) (1 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 8)
+  (parent 3)
+  (unrealized (0 2) (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb-prime) (tb tb-1) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb-prime k)
+    (1 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 9)
+  (parent 3)
+  (unrealized (0 2) (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc rb-prime k) (1 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 10)
+  (parent 3)
+  (unrealized (0 2) (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 11)
+  (parent 3)
+  (unrealized (0 2) (4 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((3 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (3 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+  (label 12)
+  (parent 4)
+  (unrealized (0 2) (3 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((3 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-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 13)
+  (parent 5)
+  (unrealized (0 2) (3 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((3 1) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (3 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))))
+  (label 14)
+  (parent 6)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 15)
+  (parent 8)
+  (unrealized (0 2) (4 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb-prime) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 16)
+  (parent 9)
+  (unrealized (0 2) (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 17)
+  (parent 10)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 3) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 18)
+  (parent 12)
+  (unrealized (0 2) (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 2) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 19)
+  (parent 12)
+  (unrealized (0 2) (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (3 0))
+    ((3 1) (1 0)) ((3 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 4 1 resp-reauth 2)
+    (enc ra-prime-0 k) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
+  (label 20)
+  (parent 12)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 21)
+  (parent 12)
+  (unrealized (0 2) (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (3 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv k) (send k)))
+  (label 22)
+  (parent 12)
+  (unrealized (0 2) (4 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((3 0) (0 0)) ((3 2) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 4 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (3 1))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))))
+  (label 23)
+  (parent 13)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((3 1) (1 2)) ((4 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 14)
+  (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))
+    ((3 1) (1 2)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 25)
+  (parent 14)
+  (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb ra-prime rb-prime rb rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 4 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (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 26)
+  (parent 14)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 rb-prime-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 27)
+  (parent 14)
+  (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener 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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
+  (label 28)
+  (parent 14)
+  (unrealized (4 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 29)
+  (parent 15)
+  (unrealized (0 2) (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-1) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 30)
+  (parent 15)
+  (unrealized (0 2) (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((3 1) (2 0))
+    ((4 1) (1 0)) ((4 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
+  (label 31)
+  (parent 15)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 32)
+  (parent 15)
+  (unrealized (0 2) (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 33)
+  (parent 15)
+  (unrealized (0 2) (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc b ra-1 k tb-0 (ltk a ks)) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 34)
+  (parent 16)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 35)
+  (parent 17)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 3) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 36)
+  (parent 18)
+  (unrealized (0 2) (4 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 2) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-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 37)
+  (parent 19)
+  (unrealized (0 2) (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (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 38)
+  (parent 20)
+  (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 1))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 39)
+  (parent 20)
+  (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (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 40)
+  (parent 20)
+  (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
+    ((recv k) (send k)))
+  (label 41)
+  (parent 20)
+  (unrealized (4 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 42)
+  (parent 21)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-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 43)
+  (parent 23)
+  (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 1))
+    ((3 0) (0 0)) ((3 2) (1 2)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 23)
+  (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb ra-prime rb-prime rb text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 4 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (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 45)
+  (parent 23)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 46)
+  (parent 23)
+  (unrealized (4 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (deflistener 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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
+  (label 47)
+  (parent 23)
+  (unrealized (4 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((3 1) (1 2)) ((4 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 48)
+  (parent 24)
+  (unrealized (4 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))
+    ((3 1) (1 2)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-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 49)
+  (parent 25)
+  (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 rb-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 50)
+  (parent 27)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 51)
+  (parent 29)
+  (unrealized (0 2) (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a)
+    (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 52)
+  (parent 30)
+  (unrealized (0 2) (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((3 1) (2 0))
+    ((4 1) (1 0)) ((4 3) (1 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))
+  (label 53)
+  (parent 31)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 54)
+  (parent 32)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 55)
+  (parent 34)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 56)
+  (parent 35)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 57)
+  (parent 35)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra ra-prime rb-prime tb ra-0 rb rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-1 k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (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 58)
+  (parent 35)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 59)
+  (parent 35)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 60)
+  (parent 35)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 61)
+  (parent 36)
+  (unrealized (0 2) (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 62)
+  (parent 36)
+  (unrealized (0 2) (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2)
+    (enc ra-prime-1 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 63)
+  (parent 36)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 64)
+  (parent 36)
+  (unrealized (0 2) (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 65)
+  (parent 36)
+  (unrealized (0 2) (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 0) (0 0))
+    ((4 2) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))))
+  (label 66)
+  (parent 37)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 67)
+  (parent 38)
+  (unrealized (4 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 1))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 68)
+  (parent 39)
+  (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 69)
+  (parent 40)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (3 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 70)
+  (parent 42)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 71)
+  (parent 42)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb ra-prime rb-prime rb ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((3 3) (1 2)) ((4 1) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (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 (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 72)
+  (parent 42)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 rb-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 73)
+  (parent 42)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 74)
+  (parent 42)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+  (label 75)
+  (parent 43)
+  (unrealized (4 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 1))
+    ((3 0) (0 0)) ((3 2) (1 2)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 1) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((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 44)
+  (unrealized (4 1))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))
+    k (4 0) (enc a k tb (ltk b ks)) (enc b ra k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 77)
+  (parent 46)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 78)
+  (parent 48)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 79)
+  (parent 48)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((1 1) (4 2)) ((2 1) (4 0))
+    ((3 1) (1 2)) ((4 1) (1 0)) ((4 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 80)
+  (parent 48)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 rb-prime-1
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 81)
+  (parent 48)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 82)
+  (parent 48)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 83)
+  (parent 49)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 84)
+  (parent 51)
+  (unrealized (0 2) (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-1) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 85)
+  (parent 51)
+  (unrealized (0 2) (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (precedes ((1 1) (5 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 86)
+  (parent 51)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 87)
+  (parent 51)
+  (unrealized (0 2) (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 88)
+  (parent 51)
+  (unrealized (0 2) (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a)
+    (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-1 k tb-0 (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 89)
+  (parent 52)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (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 90)
+  (parent 53)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (5 1)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (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 91)
+  (parent 53)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 0)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (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 92)
+  (parent 53)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 1) (2 0))
+    ((4 1) (1 0)) ((4 3) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
+    ((recv k) (send k)))
+  (label 93)
+  (parent 53)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 94)
+  (parent 54)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 95)
+  (parent 55)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 96)
+  (parent 55)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra ra-prime rb-prime tb ra-0 rb rb-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-1 k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (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 97)
+  (parent 55)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 98)
+  (parent 55)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 99)
+  (parent 55)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 100)
+  (parent 56)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 101)
+  (parent 57)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 102)
+  (parent 59)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 103)
+  (parent 61)
+  (unrealized (0 2) (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 104)
+  (parent 62)
+  (unrealized (0 2) (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime 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-1))
+      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
+  (label 105)
+  (parent 63)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 106)
+  (parent 63)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 107)
+  (parent 63)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))) ((recv k) (send k)))
+  (label 108)
+  (parent 63)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 109)
+  (parent 64)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 110)
+  (parent 66)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 1)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 0) (0 0))
+    ((4 2) (3 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 111)
+  (parent 66)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb ra-prime rb-prime rb ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 1)) ((3 3) (1 2)) ((4 0) (0 0))
+    ((4 2) (3 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (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 (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)))))
+  (label 112)
+  (parent 66)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 113)
+  (parent 66)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (deflistener 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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
+  (label 114)
+  (parent 66)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 115)
+  (parent 67)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 116)
+  (parent 67)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 117)
+  (parent 67)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 118)
+  (parent 67)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 1))
+    ((3 1) (1 0)) ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (4 1))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 119)
+  (parent 68)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (ra-prime (3 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 120)
+  (parent 70)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 121)
+  (parent 71)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 rb-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 122)
+  (parent 73)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 123)
+  (parent 75)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
+    ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 124)
+  (parent 75)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((1 1) (4 2)) ((2 1) (4 0))
+    ((3 0) (0 0)) ((3 2) (1 2)) ((4 1) (1 0)) ((4 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 5 1 resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
+  (label 125)
+  (parent 75)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (ra-prime (4 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 tb-0 text)
+    (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 126)
+  (parent 75)
+  (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener 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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (4 2))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 k) (send k)))
+  (label 127)
+  (parent 75)
+  (unrealized (5 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 128)
+  (parent 78)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 129)
+  (parent 79)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 rb-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 130)
+  (parent 81)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 131)
+  (parent 84)
+  (unrealized (0 2) (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a)
+    (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 132)
+  (parent 85)
+  (unrealized (0 2) (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((1 1) (5 2)) ((2 1) (0 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 133)
+  (parent 86)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 134)
+  (parent 87)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 135)
+  (parent 89)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 136)
+  (parent 90)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 1)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (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 137)
+  (parent 91)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 0)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 138)
+  (parent 92)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 139)
+  (parent 94)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 140)
+  (parent 94)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 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 k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-1 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (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)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (send (cat rb-prime-0 (enc ra-prime-0 k)))))
+  (label 141)
+  (parent 94)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 142)
+  (parent 94)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 143)
+  (parent 94)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 144)
+  (parent 95)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 145)
+  (parent 96)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 146)
+  (parent 98)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 147)
+  (parent 100)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 148)
+  (parent 100)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((1 1) (5 2)) ((2 1) (5 0))
+    ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (1 0)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
+  (label 149)
+  (parent 100)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 150)
+  (parent 100)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 151)
+  (parent 100)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 152)
+  (parent 101)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 153)
+  (parent 103)
+  (unrealized (0 2) (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 154)
+  (parent 103)
+  (unrealized (0 2) (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (0 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-2 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 155)
+  (parent 103)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 156)
+  (parent 103)
+  (unrealized (0 2) (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 157)
+  (parent 103)
+  (unrealized (0 2) (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 158)
+  (parent 104)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 159)
+  (parent 105)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime 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)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 160)
+  (parent 106)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 161)
+  (parent 107)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((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 162)
+  (parent 109)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 163)
+  (parent 109)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (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 (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 164)
+  (parent 109)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 165)
+  (parent 109)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))) ((recv k) (send k)))
+  (label 166)
+  (parent 109)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 167)
+  (parent 110)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 1)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 0) (0 0))
+    ((4 2) (3 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((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 168)
+  (parent 111)
+  (unrealized (5 1))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 169)
+  (parent 113)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 170)
+  (parent 115)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 171)
+  (parent 116)
+  (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 1) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 172)
+  (parent 117)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (3 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (5 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 1) (1 0)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
+  (label 173)
+  (parent 120)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((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 174)
+  (parent 120)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 175)
+  (parent 120)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((4 1) (5 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 4 resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 176)
+  (parent 120)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
+  (label 177)
+  (parent 120)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv k) (send k)))
+  (label 178)
+  (parent 120)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (3 2))
+    ((5 0) (0 0)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (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 179)
+  (parent 121)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 180)
+  (parent 123)
+  (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
+    ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 181)
+  (parent 124)
+  (unrealized (5 1))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 182)
+  (parent 126)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 183)
+  (parent 128)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 184)
+  (parent 128)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((1 1) (5 2)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 1) (1 0))
+    ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 185)
+  (parent 128)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-1 (enc ra-prime-1 k)))))
+  (label 186)
+  (parent 128)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 187)
+  (parent 128)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (1 2)) ((4 3) (0 2)) ((5 0) (0 0))
+    ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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))
+      (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)))))
+  (label 188)
+  (parent 129)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
+  (precedes ((1 1) (6 2)) ((2 1) (0 2)) ((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) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 191)
+  (parent 131)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a)
+    (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb-0 (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 194)
+  (parent 132)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime 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-1))
+      (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))
+  (label 195)
+  (parent 133)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (6 1)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime 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)) rb))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))
+  (label 196)
+  (parent 133)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (6 0)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 197)
+  (parent 133)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0)) ((5 3) (4 2))
+    ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))) ((recv k) (send k)))
+  (label 198)
+  (parent 133)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 199)
+  (parent 134)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 200)
+  (parent 135)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 201)
+  (parent 135)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-1 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (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 202)
+  (parent 135)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 203)
+  (parent 135)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 204)
+  (parent 135)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 205)
+  (parent 136)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 206)
+  (parent 136)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 207)
+  (parent 136)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 208)
+  (parent 136)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 1)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 1))
+    ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 209)
+  (parent 137)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 210)
+  (parent 139)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 211)
+  (parent 140)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 212)
+  (parent 142)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 213)
+  (parent 144)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 214)
+  (parent 144)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 215)
+  (parent 144)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-0 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 216)
+  (parent 144)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-0 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 217)
+  (parent 144)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 218)
+  (parent 145)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 219)
+  (parent 147)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 220)
+  (parent 148)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 221)
+  (parent 150)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k))))
+  (label 222)
+  (parent 153)
+  (unrealized (0 2) (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra-0))
+      (recv
+        (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k)))))
+  (label 223)
+  (parent 154)
+  (unrealized (0 2) (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (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 224)
+  (parent 155)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 225)
+  (parent 155)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (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 226)
+  (parent 155)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))) ((recv k) (send k)))
+  (label 227)
+  (parent 155)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 228)
+  (parent 156)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 229)
+  (parent 158)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 230)
+  (parent 158)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (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 (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))
+      (recv
+        (cat (enc b ra 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 231)
+  (parent 158)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 232)
+  (parent 158)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 233)
+  (parent 158)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((4 3) (5 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 4 init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 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 234)
+  (parent 159)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 235)
+  (parent 159)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 236)
+  (parent 159)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 237)
+  (parent 159)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 238)
+  (parent 159)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 3) (1 2)) ((4 1) (1 0)) ((4 3) (3 2))
+    ((5 0) (0 0)) ((5 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 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 239)
+  (parent 160)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (ra-prime (4 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-prime-2 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
+  (label 240)
+  (parent 162)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "7 in cohort - 7 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((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 241)
+  (parent 163)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      rb-prime-1 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 242)
+  (parent 165)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 243)
+  (parent 167)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 244)
+  (parent 167)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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)) ((4 2) (5 2)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 4 init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 245)
+  (parent 167)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (5 2)) ((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) (1 0)) ((5 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 246)
+  (parent 167)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (ra-prime (5 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 247)
+  (parent 167)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener 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)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 248)
+  (parent 167)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 249)
+  (parent 170)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 250)
+  (parent 170)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 251)
+  (parent 170)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 252)
+  (parent 170)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 1)) ((3 1) (1 0)) ((3 3) (1 2)) ((4 3) (0 2))
+    ((5 0) (0 0)) ((5 2) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (5 1))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb 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)))))
+  (label 253)
+  (parent 171)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (ra-prime (3 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-prime-2 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 254)
+  (parent 174)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((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 255)
+  (parent 175)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      rb-prime-1 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (cat (enc a k tb (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
+  (label 256)
+  (parent 177)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 257)
+  (parent 180)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 tb-0
+      text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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-0))
+      (recv
+        (cat (enc b-0 ra-0 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 258)
+  (parent 180)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey) (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((1 1) (5 2)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))
+    ((5 1) (1 0)) ((5 3) (4 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 6 1 resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 259)
+  (parent 180)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (ra-prime (5 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 260)
+  (parent 180)
+  (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (5 2))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 261)
+  (parent 180)
+  (unrealized (6 0))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-prime-2 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 262)
+  (parent 183)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 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 263)
+  (parent 184)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      rb-prime-1 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
+  (label 264)
+  (parent 186)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((1 1) (6 2)) ((2 1) (0 2)) ((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) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 265)
+  (parent 191)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc a k tb-0 (ltk b ks)) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 266)
+  (parent 194)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 267)
+  (parent 195)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 1)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 268)
+  (parent 196)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 0)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 269)
+  (parent 197)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 ra-prime-1
+      rb-prime-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (1 0)) ((1 1) (0 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 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-1 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (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)))
+    ((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 272)
+  (parent 199)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 275)
+  (parent 200)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 276)
+  (parent 201)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 277)
+  (parent 203)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 278)
+  (parent 205)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 279)
+  (parent 206)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 280)
+  (parent 207)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((1 1) (6 2)) ((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) (1 0)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
+  (label 281)
+  (parent 210)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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)) ((5 1) (6 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 5 resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 284)
+  (parent 210)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 287)
+  (parent 211)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 288)
+  (parent 213)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 289)
+  (parent 214)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (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)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 290)
+  (parent 216)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((1 1) (6 2)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))
+    ((6 1) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 293)
+  (parent 219)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 296)
+  (parent 220)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (0 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-3 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-2 (enc ra-prime k)))
+      (send (enc ra-prime-2 k))))
+  (label 299)
+  (parent 222)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
+    ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k)))))
+  (label 302)
+  (parent 223)
+  (unrealized (0 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
+  (label 303)
+  (parent 224)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 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 304)
+  (parent 225)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (cat (enc a k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 305)
+  (parent 226)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (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 (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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 308)
+  (parent 228)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))
+  (label 311)
+  (parent 229)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "7 in cohort - 7 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 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 312)
+  (parent 230)
+  (unrealized (6 1))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 k tb (ltk b ks)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 313)
+  (parent 232)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 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 314)
+  (parent 235)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 315)
+  (parent 236)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
+  (label 316)
+  (parent 237)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((4 3) (6 2)) ((5 1) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 4 init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((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 318)
+  (parent 240)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((5 1) (6 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 5 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((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 320)
+  (parent 240)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 1) (1 0)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((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 321)
+  (parent 240)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (4 2)) ((6 0) (0 0)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((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 324)
+  (parent 241)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (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)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 325)
+  (parent 243)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "6 in cohort - 6 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (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)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 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 326)
+  (parent 244)
+  (unrealized (6 1))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
+  (label 327)
+  (parent 247)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 328)
+  (parent 249)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 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 329)
+  (parent 250)
+  (unrealized (6 1))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)) ra-prime-1))
+      (send (cat rb-prime-0 (enc ra-prime-1 k)))))
+  (label 330)
+  (parent 251)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (3 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 1) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 331)
+  (parent 254)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((4 1) (6 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 4 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat ra-prime-1 (enc ra-prime-0 k)))
+      (send (enc ra-prime-1 k))))
+  (label 334)
+  (parent 254)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2))
+    ((4 1) (3 2)) ((5 3) (0 2)) ((6 0) (0 0)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((send (cat a ra))
+      (recv
+        (cat (enc b ra 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 337)
+  (parent 255)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat ra-prime-1 (enc ra-prime-2 k)))
+      (send (enc ra-prime-1 k))))
+  (label 338)
+  (parent 257)
+  (unrealized (6 2))
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "5 in cohort - 5 not yet seen"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 339)
+  (parent 258)
+  (unrealized (6 1))
+  (dead)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "empty cohort"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (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 k tb (ltk a ks)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 340)
+  (parent 260)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((1 1) (6 2)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 343)
+  (parent 262)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 2)) ((4 3) (0 2))
+    ((5 3) (4 2)) ((6 0) (0 0)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 ra))
+      (recv
+        (cat (enc b ra 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 346)
+  (parent 263)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((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 3) (4 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-1 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (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)))
+    ((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 353)
+  (parent 266)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((5 3) (6 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 5 init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 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 356)
+  (parent 267)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 1)) ((1 1) (5 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (1 0))
+    ((5 3) (4 2)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime 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)) rb))
+      (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
+  (label 361)
+  (parent 268)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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)) ((5 2) (6 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 5 init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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-0))
+      (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))
+  (label 364)
+  (parent 275)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((1 1) (6 2)) ((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) (1 0)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb (enc ra-prime k))) (send (enc rb k))))
+  (label 365)
+  (parent 275)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 368)
+  (parent 276)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 0)) ((4 3) (1 2))
+    ((5 3) (0 2)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 373)
+  (parent 279)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((1 1) (6 2)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))
+    ((6 1) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (enc ra-prime-0 k))))
+  (label 376)
+  (parent 288)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (6 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-1 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 379)
+  (parent 289)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb ra-prime rb-prime rb ra-prime-0 ra-prime-1 ra-prime-2 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb ra-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
+    ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2) (enc rb-0 k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (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 (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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k)))))
+  (label 386)
+  (parent 302)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb ra-prime) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (ra-prime (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((5 3) (6 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 5 init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 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 389)
+  (parent 303)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((4 3) (6 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 4 init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 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 390)
+  (parent 303)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (5 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 3) (3 2))
+    ((5 1) (1 0)) ((5 3) (4 2)) ((6 0) (0 0)) ((6 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 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 395)
+  (parent 304)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (ra-prime (5 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((4 3) (6 2)) ((5 0) (0 0)) ((5 2) (4 2))
+    ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 4 init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 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 396)
+  (parent 311)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((5 2) (6 2))
+    ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 5 init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 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 398)
+  (parent 311)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2)) ((6 1) (1 0))
+    ((6 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 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 399)
+  (parent 311)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (5 0)) (rb (0 1)) (ra-prime (6 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((5 3) (0 2)) ((6 0) (0 0)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 ra))
+      (recv
+        (cat (enc b ra 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 403)
+  (parent 314)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (ra-prime (4 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2)) ((4 1) (1 0))
+    ((4 3) (3 2)) ((4 3) (6 2)) ((5 3) (0 2)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 4 init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat ra-prime-1 (enc ra-prime-0 k)))
+      (send (enc ra-prime-1 k))))
+  (label 404)
+  (parent 315)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (rb (0 1)) (ra-prime (4 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (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)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((4 2) (6 2)) ((5 3) (0 2))
+    ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 4 init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-0))
+      (recv (cat ra-prime-1 (enc ra-prime-0 k)))
+      (send (enc ra-prime-1 k))))
+  (label 411)
+  (parent 325)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((1 1) (6 2)) ((2 1) (3 0))
+    ((2 1) (4 1)) ((2 1) (5 0)) ((2 1) (6 0)) ((3 3) (1 2))
+    ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2)) ((6 1) (1 0))
+    ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 412)
+  (parent 325)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (4 0)) (rb (0 1)) (ra-prime (6 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (1 0)) ((3 3) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 0) (0 0)) ((6 2) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 2 keyserver 2)
+    (enc b ra-0 k tb (ltk a ks)) (6 1))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 ra))
+      (recv
+        (cat (enc b ra 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 419)
+  (parent 329)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (6 0)) (rb (0 1)) (ra-prime (3 1))
+    (rb-prime (1 1))))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 text)
+    (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((1 1) (6 2)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((3 0) (0 0)) ((3 2) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (displaced 7 1 resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))))
+  (label 422)
+  (parent 338)
+  (realized)
+  (shape)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (origs (k (2 1)) (ra (3 0)) (rb (0 1)) (ra-prime (6 1))
+    (rb-prime (1 1))))
+
+(comment "Strand bound exceeded--aborting run")
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 189)
+  (parent 131)
+  (unrealized (0 2) (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-2) (tb tb-1) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 190)
+  (parent 131)
+  (unrealized (0 2) (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-1) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 192)
+  (parent 131)
+  (unrealized (0 2) (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb-0) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 193)
+  (parent 131)
+  (unrealized (0 2) (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb-0))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      rb-prime-0 ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (7 2)) ((1 1) (4 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 1) (5 2)) ((7 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((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 270)
+  (parent 199)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      rb-prime-0 ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (7 1)) ((1 1) (4 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 1) (5 2)) ((7 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((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 271)
+  (parent 199)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      rb-prime-0 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (7 0)) ((1 1) (4 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 1) (5 2)) ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 273)
+  (parent 199)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((1 1) (4 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 1) (5 2)) ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))) ((recv k) (send k)))
+  (label 274)
+  (parent 199)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-prime-1 ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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)) ((2 1) (7 0)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 282)
+  (parent 210)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-prime-1 ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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)) ((2 1) (7 1)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 283)
+  (parent 210)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0
+      ra-prime-1 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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)) ((2 1) (7 0)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
+  (label 285)
+  (parent 210)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener 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)) ((2 1) (7 0)) ((3 1) (2 0))
+    ((4 3) (1 2)) ((5 1) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv k) (send k)))
+  (label 286)
+  (parent 210)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-prime-1 ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 2))
+    ((5 3) (0 2)) ((6 3) (5 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 291)
+  (parent 219)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-prime-1 ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0)) ((4 1) (1 2))
+    ((5 3) (0 2)) ((6 3) (5 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 292)
+  (parent 219)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0
+      ra-prime-1 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 2))
+    ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))
+      (send (cat rb-prime-1 (enc ra-prime-1 k)))))
+  (label 294)
+  (parent 219)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 2))
+    ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))) ((recv k) (send k)))
+  (label 295)
+  (parent 219)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 ra-prime-4 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-4)
+    (rb-prime ra-prime-3) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((2 1) (7 0)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
+    ((6 3) (5 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-3 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 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-4))
+      (recv (cat ra-prime-3 (enc ra-prime-4 k)))
+      (send (enc ra-prime-3 k))))
+  (label 297)
+  (parent 222)
+  (unrealized (0 2) (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-3) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((2 1) (7 1)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
+    ((6 3) (5 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-3 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-3))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-3 k)))))
+  (label 298)
+  (parent 222)
+  (unrealized (0 2) (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-3)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((2 1) (7 0)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
+    ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-3 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-3))
+      (send (cat rb-prime-0 (enc ra-prime-3 k)))))
+  (label 300)
+  (parent 222)
+  (unrealized (0 2) (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (0 2)) ((2 1) (1 0))
+    ((2 1) (3 0)) ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0))
+    ((2 1) (7 0)) ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2))
+    ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-3 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k))) ((recv k) (send k)))
+  (label 301)
+  (parent 222)
+  (unrealized (0 2) (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
+    ((7 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 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-3))
+      (recv (cat rb (enc ra-prime-3 k))) (send (enc rb k))))
+  (label 306)
+  (parent 228)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
+    ((7 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k))))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 307)
+  (parent 228)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-1)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
+    ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-1 (enc rb k)))))
+  (label 309)
+  (parent 228)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (5 2))
+    ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))) ((recv k) (send k)))
+  (label 310)
+  (parent 228)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-prime-2 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
+    ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 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-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k))))
+  (label 317)
+  (parent 240)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-prime-2 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
+    ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 319)
+  (parent 240)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-prime-2 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-1 (enc ra-prime-2 k)))))
+  (label 322)
+  (parent 240)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 rb-prime-0
+      ra-prime-2 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 1) (4 2)) ((6 3) (0 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 323)
+  (parent 240)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-prime-2 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 332)
+  (parent 254)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-prime-2 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1))
+    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 333)
+  (parent 254)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-prime-2 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-1 (enc ra-prime-2 k)))))
+  (label 335)
+  (parent 254)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 rb-prime-0 ra-prime-1
+      ra-prime-2 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 1) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 336)
+  (parent 254)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-prime-2 ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 341)
+  (parent 262)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-prime-2 ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 342)
+  (parent 262)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-prime-2 rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-1 (enc ra-prime-2 k)))))
+  (label 344)
+  (parent 262)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 rb-prime-0 ra-prime-0 ra-prime-1
+      ra-prime-2 text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb-prime)
+    (rb-prime rb-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 2))
+    ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 345)
+  (parent 262)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (7 2)) ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (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 347)
+  (parent 265)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (7 1)) ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (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 348)
+  (parent 265)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (7 0)) ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (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 349)
+  (parent 265)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((1 1) (6 2)) ((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 1) (1 0)) ((6 3) (5 2)) ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k))) ((recv k) (send k)))
+  (label 350)
+  (parent 265)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 351)
+  (parent 266)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 352)
+  (parent 266)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 354)
+  (parent 266)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 355)
+  (parent 266)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 357)
+  (parent 267)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 358)
+  (parent 267)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 359)
+  (parent 267)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (6 2)) ((1 1) (5 2)) ((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 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 360)
+  (parent 267)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 362)
+  (parent 275)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 363)
+  (parent 275)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 366)
+  (parent 275)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 367)
+  (parent 275)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 0))
+    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 369)
+  (parent 278)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0)) ((4 1) (1 0))
+    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 370)
+  (parent 278)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 0))
+    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 371)
+  (parent 278)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (5 2)) ((1 1) (4 2)) ((2 1) (4 0)) ((2 1) (5 0))
+    ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 1) (1 0))
+    ((4 3) (1 2)) ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 372)
+  (parent 278)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 374)
+  (parent 288)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 375)
+  (parent 288)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (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))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-1)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-1 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 377)
+  (parent 288)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra-0) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (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 k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-1 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 378)
+  (parent 288)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
+    ((7 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-2 (enc ra-prime k)))
+      (send (enc ra-prime-2 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-3))
+      (recv (cat rb (enc ra-prime-3 k))) (send (enc rb k))))
+  (label 380)
+  (parent 299)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
+    ((7 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-2 (enc ra-prime k)))
+      (send (enc ra-prime-2 k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 381)
+  (parent 299)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
+    ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-2 (enc ra-prime k)))
+      (send (enc ra-prime-2 k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 382)
+  (parent 299)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-2) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (6 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 3) (4 2)) ((6 1) (1 0)) ((6 3) (5 2))
+    ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-2 (enc ra-prime k)))
+      (send (enc ra-prime-2 k))) ((recv k) (send k)))
+  (label 383)
+  (parent 299)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3) (rb-prime rb)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
+    ((6 2) (5 2)) ((7 3) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 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-3))
+      (recv (cat rb (enc ra-prime-3 k))) (send (enc rb k))))
+  (label 384)
+  (parent 302)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb rb) (tb tb-0) (a a-0) (b b-0)
+    (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
+    ((6 2) (5 2)) ((7 2) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k))))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 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 385)
+  (parent 302)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime rb) (rb-prime rb-prime-0)
+    (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
+    ((6 2) (5 2)) ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2) (enc rb k)
+    (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k))))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))
+      (send (cat rb-prime-0 (enc rb k)))))
+  (label 387)
+  (parent 302)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-2) (tb tb) (a a) (b b)
+    (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 3) (4 2)) ((6 0) (0 0))
+    ((6 2) (5 2)) ((7 1) (0 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc rb k) (0 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 ra))
+      (recv
+        (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))
+          ra-prime-2))
+      (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-2 k))))
+    ((recv k) (send k)))
+  (label 388)
+  (parent 302)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
+    ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 391)
+  (parent 303)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
+    ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 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-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k))))
+  (label 392)
+  (parent 303)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 393)
+  (parent 303)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (5 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 3) (3 2)) ((5 1) (1 0)) ((5 3) (4 2)) ((6 3) (0 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-1 (enc ra-prime k)))
+      (send (enc ra-prime-1 k)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 394)
+  (parent 303)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 1))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
+    ((6 3) (0 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((send (cat a-0 ra-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 397)
+  (parent 311)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
+    ((6 3) (0 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 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-3))
+      (recv (cat ra-prime-2 (enc ra-prime-3 k)))
+      (send (enc ra-prime-2 k))))
+  (label 400)
+  (parent 311)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
+    ((6 3) (0 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 401)
+  (parent 311)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-1) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))
+    ((2 1) (4 0)) ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 3) (3 2)) ((5 0) (0 0)) ((5 2) (4 2))
+    ((6 3) (0 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((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))
+      (recv
+        (cat (enc b ra 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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime-2))
+      (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k)))
+    ((recv k) (send k)))
+  (label 402)
+  (parent 311)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 3) (1 2))
+    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 405)
+  (parent 315)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 406)
+  (parent 315)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 407)
+  (parent 315)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (4 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 3) (1 2))
+    ((4 1) (1 0)) ((4 3) (3 2)) ((5 3) (0 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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)))
+    ((recv (enc a k tb (ltk b ks)))
+      (send (cat (enc a k tb (ltk b ks)) ra-prime))
+      (recv (cat ra-prime-0 (enc ra-prime k)))
+      (send (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 408)
+  (parent 315)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
+    ((6 3) (5 2)) ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 409)
+  (parent 325)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (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)) ((2 1) (6 0)) ((2 1) (7 1))
+    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
+    ((6 3) (5 2)) ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 410)
+  (parent 325)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (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)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
+    ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 413)
+  (parent 325)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0)
+    (rb-prime rb-prime) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener 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)) ((2 1) (6 0)) ((2 1) (7 0))
+    ((3 3) (1 2)) ((4 0) (0 0)) ((4 2) (3 2)) ((5 3) (0 2))
+    ((6 3) (5 2)) ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 414)
+  (parent 325)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 0))
+    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 415)
+  (parent 328)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (1 0))
+    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 416)
+  (parent 328)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 0))
+    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 417)
+  (parent 328)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (3 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (1 0))
+    ((3 3) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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))
+      (recv (cat rb-prime (enc ra-prime 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-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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 418)
+  (parent 328)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-prime-3 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-3)
+    (rb-prime ra-prime-2) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 0) (0 0))
+    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 3) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init-reauth 4)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)))
+      (send (cat (enc a-0 k tb-0 (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 420)
+  (parent 338)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      ra-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init 3 (k k) (ra ra-0) (rb ra-prime-2) (tb tb-0) (a a-0)
+    (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 0) (0 0))
+    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 2) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0))
+      (recv
+        (cat (enc b-0 ra-0 k tb-0 (ltk a-0 ks-0))
+          (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))
+  (label 421)
+  (parent 338)
+  (unrealized (7 1))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 2 (k k) (ra-prime ra-prime-2)
+    (rb-prime rb-prime-0) (tb tb-0) (a a-0) (b b-0) (ks ks-0))
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 0) (0 0))
+    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-strand resp-reauth 2)
+    (enc ra-prime-2 k) (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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-0 (ltk b-0 ks-0)) ra-prime-2))
+      (send (cat rb-prime-0 (enc ra-prime-2 k)))))
+  (label 423)
+  (parent 338)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
+  (comment "aborted"))
+
+(defskeleton neuman-stubblebine-reauth
+  (vars (k skey)
+    (ra tb rb ra-prime rb-prime rb-0 ra-prime-0 ra-prime-1 ra-prime-2
+      text) (a b ks name))
+  (defstrand resp 3 (k k) (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks))
+  (defstrand resp-reauth 3 (k k) (ra-prime ra-prime) (rb-prime rb-prime)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand keyserver 2 (k k) (ra ra) (rb rb-0) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init 3 (k k) (ra ra) (rb rb-prime) (tb tb) (a a) (b b)
+    (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-0) (rb-prime rb)
+    (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-1)
+    (rb-prime ra-prime-0) (tb tb) (a a) (b b) (ks ks))
+  (defstrand init-reauth 4 (k k) (ra-prime ra-prime-2)
+    (rb-prime ra-prime-1) (tb tb) (a a) (b b) (ks ks))
+  (deflistener k)
+  (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))
+    ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 0) (0 0))
+    ((3 2) (1 2)) ((4 3) (0 2)) ((5 3) (4 2)) ((6 3) (5 2))
+    ((7 1) (6 2)))
+  (non-orig (ltk a ks) (ltk b ks))
+  (uniq-orig k ra rb ra-prime rb-prime)
+  (operation encryption-test (added-listener k) (enc ra-prime-2 k)
+    (6 2))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((recv (cat a ra)) (send (cat b rb (enc 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 (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 k tb (ltk b ks)))
+      (send (cat (enc a k tb (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 424)
+  (parent 338)
+  (unrealized (7 0))
+  (aborted)
+  (maps
+    ((0 1)
+      ((ra ra) (tb tb) (rb rb) (a a) (b b) (ks ks) (k k)
+        (ra-prime ra-prime) (rb-prime rb-prime) (tb-0 tb))))
   (comment "aborted"))
diff --git a/tst/neuman-stubblebine.tst b/tst/neuman-stubblebine.tst
--- a/tst/neuman-stubblebine.tst
+++ b/tst/neuman-stubblebine.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/neuman-stubblebine.scm")
 
 (defprotocol neuman-stubblebine basic
@@ -35,6 +35,7 @@
       (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (origs (ra (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -59,6 +60,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -123,6 +125,7 @@
       (recv (cat (enc a k tb (ltk b ks)) (enc rb k)))))
   (label 3)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (origs (rb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -147,6 +150,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2) (1 0))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -169,6 +173,7 @@
   (label 5)
   (parent 4)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -195,6 +200,7 @@
   (label 6)
   (parent 4)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -224,6 +230,7 @@
   (label 7)
   (parent 5)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -248,6 +255,7 @@
   (parent 5)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "empty cohort"))
 
 (defskeleton neuman-stubblebine
@@ -280,6 +288,7 @@
   (label 9)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -307,6 +316,7 @@
   (parent 6)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "empty cohort"))
 
 (defskeleton neuman-stubblebine
@@ -334,6 +344,7 @@
   (label 11)
   (parent 7)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -364,6 +375,7 @@
   (label 12)
   (parent 9)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton neuman-stubblebine
@@ -463,6 +475,7 @@
         (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))))
   (label 15)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (ks ks) (ra ra) (rb rb) (k k) (tb tb))))
   (origs (k (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/no_contraction.tst b/tst/no_contraction.tst
--- a/tst/no_contraction.tst
+++ b/tst/no_contraction.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/no_contraction.scm")
 
 (defprotocol no-contraction basic
@@ -26,6 +26,7 @@
   (label 0)
   (unrealized (0 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (n n) (a-0 a-0) (b b))))
   (origs (n (1 0)))
   (comment "Not a skeleton"))
 
@@ -41,6 +42,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 0))
+  (maps ((0 1) ((a a) (n n) (a-0 a-0) (b b))))
   (origs (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/non_transforming.tst b/tst/non_transforming.tst
--- a/tst/non_transforming.tst
+++ b/tst/non_transforming.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/non_transforming.scm")
 
 (defprotocol non_transforming basic
@@ -33,6 +33,7 @@
     ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1)))))
   (label 0)
   (unrealized (0 0) (0 1))
+  (maps ((0 1 2) ((a a) (b b) (c c) (d d) (B B) (B0 B0) (B1 B1))))
   (origs (c (2 0)) (d (1 0)) (a (1 0)) (b (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -50,6 +51,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 0) (0 1))
+  (maps ((0 1 1) ((a a) (b d) (c a) (d d) (B B) (B0 B0) (B1 B0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton non_transforming
@@ -70,6 +72,7 @@
   (label 2)
   (parent 0)
   (unrealized (0 0) (0 1))
+  (maps ((0 1 2) ((a a) (b b) (c c) (d d) (B B) (B0 B0) (B1 B1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton non_transforming
@@ -89,6 +92,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 0) (0 1))
+  (maps ((0 1 1) ((a a) (b d) (c a) (d d) (B B) (B0 B0) (B1 B0))))
   (origs (a (1 0)) (d (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -110,6 +114,7 @@
   (label 4)
   (parent 2)
   (unrealized (0 1))
+  (maps ((0 1 2) ((a a) (b b) (c c) (d d) (B B0) (B0 B0) (B1 B1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton non_transforming
@@ -129,6 +134,7 @@
   (label 5)
   (parent 3)
   (unrealized (0 1))
+  (maps ((0 1 1) ((a a) (b d) (c a) (d d) (B B0) (B0 B0) (B1 B0))))
   (origs (a (1 0)) (d (1 0)))
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -153,6 +159,7 @@
   (label 6)
   (parent 4)
   (unrealized (0 1))
+  (maps ((0 1 2) ((a a) (b b) (c c) (d d) (B B0) (B0 B0) (B1 B1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton non_transforming
@@ -175,6 +182,7 @@
   (label 7)
   (parent 4)
   (unrealized (0 1))
+  (maps ((0 1 2) ((a a) (b c) (c c) (d d) (B B0) (B0 B0) (B1 B1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton non_transforming
diff --git a/tst/nonaug-prune.tst b/tst/nonaug-prune.tst
--- a/tst/nonaug-prune.tst
+++ b/tst/nonaug-prune.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/nonaug-prune.scm")
 
 (defprotocol nonaug-prune basic
@@ -35,6 +35,7 @@
     ((send (enc n B B k)) (send (enc n A k)) (recv (enc n A A A k))))
   (label 0)
   (unrealized (0 0) (1 0) (2 2))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (origs (n (2 0)))
   (comment "4 in cohort - 4 not yet seen"))
 
@@ -57,6 +58,7 @@
       (operation nonce-test (added-strand trans2 2) n (1 2) (enc n B k)
         (enc n B B k)) (strand-map 0 1)))
   (unrealized (0 0) (1 2))
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -76,6 +78,7 @@
   (label 2)
   (parent 0)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (origs (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -98,6 +101,7 @@
   (label 3)
   (parent 0)
   (unrealized (0 0) (1 0) (2 2) (3 1))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -117,6 +121,7 @@
   (label 4)
   (parent 0)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (origs (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -139,6 +144,7 @@
   (label 5)
   (parent 0)
   (unrealized (0 0) (1 0) (3 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -158,6 +164,7 @@
   (label 6)
   (parent 1)
   (unrealized (0 0) (1 2) (2 1))
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (origs (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -176,6 +183,7 @@
   (label 7)
   (parent 1)
   (unrealized (0 0))
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -194,6 +202,7 @@
   (label 8)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (origs (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -216,6 +225,7 @@
   (label 9)
   (parent 3)
   (unrealized (0 0) (1 0) (2 2))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -234,6 +244,7 @@
   (label 10)
   (parent 4)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (origs (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -255,6 +266,7 @@
   (label 11)
   (parent 5)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -278,6 +290,7 @@
       (operation nonce-test (added-strand trans2 2) n (1 2) (enc n B k)
         (enc n n C k) (enc n B B k)) (strand-map 0 1 2)))
   (unrealized (0 0) (1 2))
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (origs (n (1 0)))
   (comment "3 in cohort - 2 not yet seen"))
 
@@ -346,6 +359,7 @@
       (operation nonce-test (displaced 5 2 orig 2) n (4 1)
         (enc n B B k)) (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (1 0) (2 2) (4 1))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -368,6 +382,7 @@
   (label 16)
   (parent 9)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -392,6 +407,7 @@
   (label 17)
   (parent 9)
   (unrealized (0 0) (1 0) (4 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -415,6 +431,7 @@
       (operation nonce-test (contracted (B A)) n (0 0) (enc n A k)
         (enc n A A k)) (strand-map 0 1 2)))
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (origs (n (2 0)))
   (comment "3 in cohort - 2 not yet seen"))
 
@@ -436,6 +453,7 @@
   (label 19)
   (parent 11)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -463,6 +481,7 @@
       (operation nonce-test (displaced 4 1 orig 2) n (3 1)
         (enc n B B k)) (strand-map 0 1 2 2)))
   (unrealized (0 0) (1 2) (3 1))
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -483,6 +502,7 @@
   (label 21)
   (parent 12)
   (unrealized (0 0))
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (origs (n (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -505,6 +525,7 @@
   (label 22)
   (parent 16)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -528,6 +549,7 @@
   (label 23)
   (parent 17)
   (unrealized (0 0) (1 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -547,6 +569,7 @@
   (label 24)
   (parent 18)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (origs (n (2 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -570,6 +593,7 @@
   (label 25)
   (parent 18)
   (unrealized (0 0) (3 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -595,6 +619,7 @@
       (operation nonce-test (displaced 4 1 trans2 2) n (0 0) (enc n A k)
         (enc n B B k)) (strand-map 0 1 2 3)))
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -617,6 +642,7 @@
   (seen-ops
     (13 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 0 1) ((n n) (A B) (B B) (k k))))
   (origs (n (1 0)))
   (comment "1 in cohort - 0 not yet seen"))
 
@@ -642,6 +668,7 @@
   (seen-ops
     (14 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -665,6 +692,7 @@
   (label 29)
   (parent 23)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -688,6 +716,7 @@
     (14 (operation generalization weakened ((1 1) (0 0)))
       (strand-map 0 1 2)))
   (realized)
+  (maps ((0 1 2) ((n n) (A A) (B A) (k k))))
   (origs (n (2 0)))
   (comment "1 in cohort - 0 not yet seen"))
 
@@ -709,6 +738,7 @@
   (label 31)
   (parent 25)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -753,6 +783,7 @@
   (label 33)
   (parent 26)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -777,6 +808,7 @@
   (label 34)
   (parent 26)
   (unrealized (0 0) (4 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -803,6 +835,7 @@
   (seen-ops
     (32 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0 1 2) ((n n) (A B) (B B) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -827,6 +860,7 @@
   (seen-ops
     (14 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0 1 2) ((n n) (A A) (B A) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -852,6 +886,7 @@
     (32 (operation generalization weakened ((3 1) (0 0)))
       (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0 1 2) ((n n) (A A) (B A) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -875,6 +910,7 @@
   (label 38)
   (parent 34)
   (unrealized (0 0))
+  (maps ((0 1 2) ((n n) (A A) (B B) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nonaug-prune
@@ -902,6 +938,7 @@
   (seen-ops
     (32 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0 1 2) ((n n) (A A) (B A) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/ns-l.tst b/tst/ns-l.tst
--- a/tst/ns-l.tst
+++ b/tst/ns-l.tst
@@ -1,7 +1,7 @@
 (herald "Needham-Schroeder-Low Public-Key Protocol"
   (comment "With deflistener's"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ns-l.scm")
 
 (defprotocol ns basic
@@ -34,6 +34,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "Not a skeleton"))
 
@@ -44,12 +45,14 @@
   (precedes ((0 0) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Initiator point-of-view with a listener")
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc b n1 n2 (pubk a)))
       (send (enc n2 (pubk b)))) ((recv n1) (send n1)))
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -61,6 +64,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Initiator point-of-view with a listener")
   (operation nonce-test (added-strand resp 2) n1 (1 0)
     (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -71,6 +75,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -81,6 +86,7 @@
   (precedes ((0 0) (2 0)) ((0 2) (1 0)) ((2 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
+  (comment "Initiator point-of-view with a listener")
   (operation nonce-test (displaced 3 0 init 3) n2-0 (1 0)
     (enc n2-0 a (pubk b)) (enc b n2-0 n2-0 (pubk a)))
   (strand-map 0 1 2)
@@ -91,6 +97,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -103,6 +110,7 @@
     ((3 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
+  (comment "Initiator point-of-view with a listener")
   (operation nonce-test (added-strand resp 2) n2 (1 0) (enc n2 (pubk b))
     (enc n2 a (pubk b)) (enc b n2 n2 (pubk a)))
   (strand-map 0 1 2)
@@ -115,6 +123,7 @@
   (parent 3)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -149,6 +158,7 @@
   (label 5)
   (unrealized (0 2) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (n2 n2) (b b) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "Not a skeleton"))
 
@@ -159,12 +169,14 @@
   (precedes ((0 1) (1 0)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (comment "Responder point-of-view with a listener")
   (traces
     ((recv (enc n1 a (pubk b))) (send (enc b n1 n2 (pubk a)))
       (recv (enc n2 (pubk b)))) ((recv n2) (send n2)))
   (label 6)
   (parent 5)
   (unrealized (0 2) (1 0))
+  (maps ((0 1) ((a a) (n2 n2) (b b) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -176,6 +188,7 @@
   (precedes ((0 1) (2 1)) ((2 2) (1 0)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (comment "Responder point-of-view with a listener")
   (operation nonce-test (added-strand init 3) n2 (1 0)
     (enc b n1 n2 (pubk a)))
   (strand-map 0 1)
@@ -187,6 +200,7 @@
   (label 7)
   (parent 6)
   (unrealized (0 2))
+  (maps ((0 1) ((a a) (n2 n2) (b b) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton ns
@@ -197,6 +211,7 @@
   (precedes ((0 1) (2 1)) ((2 2) (0 2)) ((2 2) (1 0)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (comment "Responder point-of-view with a listener")
   (operation nonce-test (displaced 3 2 init 3) n2 (0 2)
     (enc b n1 n2 (pubk a)))
   (strand-map 0 1 2)
@@ -221,6 +236,7 @@
   (precedes ((0 1) (2 1)) ((0 1) (3 1)) ((2 2) (1 0)) ((3 2) (0 2)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (comment "Responder point-of-view with a listener")
   (operation nonce-test (added-strand init 3) n2 (0 2)
     (enc b n1 n2 (pubk a)))
   (strand-map 0 1 2)
diff --git a/tst/ns-rebinding.scm b/tst/ns-rebinding.scm
--- a/tst/ns-rebinding.scm
+++ b/tst/ns-rebinding.scm
@@ -93,3 +93,11 @@
   (non-orig (privk a))
   (uniq-orig n2)
   (comment "Responder point-of-view"))
+
+(defskeleton ns
+  (vars (x name) (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce"))
diff --git a/tst/ns-rebinding.tst b/tst/ns-rebinding.tst
--- a/tst/ns-rebinding.tst
+++ b/tst/ns-rebinding.tst
@@ -1,6 +1,6 @@
 (herald "ALternate Needham-Schroeder Public-Key Protocol Variants")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ns-rebinding.scm")
 
 (defprotocol ns basic
@@ -47,6 +47,7 @@
       (send (enc n2 (pubk b)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "Not closed under rules"))
 
@@ -56,6 +57,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
@@ -63,6 +65,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -74,6 +77,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -84,6 +88,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -94,6 +99,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
   (strand-map 0 1)
@@ -155,6 +161,7 @@
       (send (enc n2 (pubk b)))))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "Not closed under rules"))
 
@@ -164,6 +171,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2) (rel n1 n1))
+  (comment "Initiator point-of-view")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
@@ -171,6 +179,7 @@
   (label 5)
   (parent 4)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -182,6 +191,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2) (rel n1 n1))
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -192,6 +202,7 @@
   (label 6)
   (parent 5)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -202,6 +213,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2) (rel n1 n1))
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
   (strand-map 0 1)
@@ -262,6 +274,7 @@
       (send (enc n2 (pubk b)))))
   (label 8)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "Not closed under rules"))
 
@@ -271,6 +284,7 @@
   (non-orig (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
@@ -278,6 +292,7 @@
   (label 9)
   (parent 8)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -289,6 +304,7 @@
   (non-orig (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -351,6 +367,7 @@
   (label 11)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "Not a skeleton"))
 
@@ -361,12 +378,14 @@
   (precedes ((0 0) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Initiator point-of-view")
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b)))) ((recv n1) (send n1)))
   (label 12)
   (parent 11)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "Not closed under rules"))
 
@@ -378,6 +397,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
@@ -385,6 +405,7 @@
   (label 13)
   (parent 12)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -397,6 +418,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (1 0)
     (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -407,6 +429,7 @@
   (label 14)
   (parent 13)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -418,6 +441,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
   (facts (rel2 x n2) (rel1 n2 n2) (rel2 n2 n2))
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 3 0 init 3) n2-0 (1 0)
     (enc n2-0 a (pubk b)) (enc n2-0 n2-0 b (pubk a)))
   (strand-map 0 1 2)
@@ -428,6 +452,7 @@
   (label 15)
   (parent 14)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -441,6 +466,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
   (facts (rel2 x n2) (rel1 n2 n2) (rel2 n2 n2))
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n2 (1 0) (enc n2 (pubk b))
     (enc n2 a (pubk b)) (enc n2 n2 b (pubk a)))
   (strand-map 0 1 2)
@@ -453,6 +479,7 @@
   (parent 15)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -504,6 +531,7 @@
       (send (enc n2-0 (pubk b)))))
   (label 17)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (origs (n1 (0 0)) (n1-0 (1 0)))
   (comment "Not closed under rules"))
 
@@ -515,6 +543,7 @@
   (uniq-orig n1 n1-0)
   (facts (rel2 x-0 n2-0) (rel2 x n2) (rel1 n1-0 n2-0) (rel1 n1 n2)
     (rel2 n1-0 n2-0) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
@@ -524,6 +553,7 @@
   (label 18)
   (parent 17)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (origs (n1 (0 0)) (n1-0 (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -533,6 +563,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x-0 n2) (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (operation collapsed 1 0)
   (strand-map 0 0)
   (traces
@@ -541,6 +572,7 @@
   (label 19)
   (parent 18)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -553,6 +585,7 @@
   (uniq-orig n1 n1-0)
   (facts (rel2 x-0 n2-0) (rel2 x n2) (rel1 n1-0 n2-0) (rel1 n1 n2)
     (rel2 n1-0 n2-0) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1-0 (1 1)
     (enc n1-0 a (pubk b)))
   (strand-map 0 1)
@@ -565,6 +598,7 @@
   (label 20)
   (parent 18)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -575,6 +609,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x-0 n2) (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -585,6 +620,7 @@
   (label 21)
   (parent 19)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -598,6 +634,7 @@
   (uniq-orig n1 n1-0)
   (facts (rel2 x-0 n2-0) (rel2 x n2) (rel1 n1-0 n2-0) (rel1 n1 n2)
     (rel2 n1-0 n2-0) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (operation nonce-test (contracted (n2-1 n2-0)) n1-0 (1 1)
     (enc n1-0 a (pubk b)) (enc n1-0 n2-0 b (pubk a)))
   (strand-map 0 1 2)
@@ -610,6 +647,7 @@
   (label 22)
   (parent 20)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -620,6 +658,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x-0 n2) (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
   (strand-map 0 1)
@@ -630,9 +669,9 @@
   (label 23)
   (parent 21)
   (realized)
-  (shape)
   (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
-  (origs (n1 (0 0))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
   (vars (x x-0 name) (n1 n1-0 n2 n2-0 n2-1 text) (a b name))
@@ -645,6 +684,7 @@
   (uniq-orig n1 n1-0)
   (facts (rel2 x-0 n2-0) (rel2 x n2) (rel1 n1-0 n2-0) (rel1 n1 n2)
     (rel2 n1-0 n2-0) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0 1 2)
@@ -658,9 +698,33 @@
   (label 24)
   (parent 22)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
+  (vars (x name) (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view")
+  (rule fact-init-rel11 fact-init-rel20 rebind-x)
+  (operation generalization weakened ((0 0) (1 0)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
+  (label 25)
+  (parent 23)
+  (realized)
+  (shape)
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0))))
+
+(defskeleton ns
   (vars (x x-0 name) (n1 n1-0 n2 n2-0 text) (a b name))
   (defstrand init 3 (n1 n1) (n2 n2-0) (a a) (b b))
   (defstrand init 3 (n1 n1-0) (n2 n2) (a a) (b b))
@@ -671,6 +735,7 @@
   (uniq-orig n1 n1-0)
   (facts (rel2 x-0 n2) (rel2 x n2-0) (rel1 n1-0 n2) (rel1 n1 n2-0)
     (rel2 n1-0 n2) (rel2 n1 n2-0))
+  (comment "Double initiator point-of-view")
   (operation nonce-test (contracted (n2-1 n2-0)) n1 (0 1)
     (enc n1 a (pubk b)) (enc n1 n2-0 b (pubk a)))
   (strand-map 0 1 2 3)
@@ -681,7 +746,7 @@
       (send (enc n2 (pubk b))))
     ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2 b (pubk a))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
-  (label 25)
+  (label 26)
   (parent 24)
   (realized)
   (shape)
@@ -735,9 +800,10 @@
       (send (enc n2 (pubk b))))
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2-0 b (pubk a)))
       (send (enc n2-0 (pubk b)))))
-  (label 26)
+  (label 27)
   (realized)
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2-0))))
   (origs (n1 (1 0)) (n1 (0 0)))
   (comment "Not a skeleton"))
 
@@ -746,13 +812,14 @@
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b)))))
-  (label 27)
-  (parent 26)
+  (label 28)
+  (parent 27)
   (unrealized (0 1))
-  (origs (n1 (0 0)))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
   (comment "Not closed under rules"))
 
 (defskeleton ns
@@ -761,14 +828,15 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b)))))
-  (label 28)
-  (parent 27)
+  (label 29)
+  (parent 28)
   (unrealized (0 1))
-  (origs (n1 (0 0)))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -779,6 +847,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -786,9 +855,11 @@
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
-  (label 29)
-  (parent 28)
+  (label 30)
+  (parent 29)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -799,6 +870,7 @@
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
   (strand-map 0 1)
@@ -806,11 +878,11 @@
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b))))
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
-  (label 30)
-  (parent 29)
+  (label 31)
+  (parent 30)
   (realized)
   (shape)
-  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
   (origs (n1 (0 0))))
 
 (comment "Nothing left to do")
@@ -857,8 +929,9 @@
   (traces
     ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
       (recv (enc n2 (pubk b)))))
-  (label 31)
+  (label 32)
   (unrealized (0 2))
+  (maps ((0) ((a a) (n2 n2) (b b) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -870,6 +943,7 @@
   (non-orig (privk a))
   (uniq-orig n2)
   (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Responder point-of-view")
   (rule fact-init-rel11 fact-init-rel20 rebind-x)
   (operation nonce-test (added-strand init 3) n2 (0 2)
     (enc n1 n2 b (pubk a)))
@@ -879,11 +953,133 @@
       (recv (enc n2 (pubk b))))
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
       (send (enc n2 (pubk b)))))
-  (label 32)
-  (parent 31)
+  (label 33)
+  (parent 32)
   (realized)
   (shape)
   (maps ((0) ((a a) (n2 n2) (b b) (n1 n1))))
   (origs (n2 (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    (facts (rel1 n1 n2) (rel2 n1 n2)))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defrule rebind-x
+    (forall ((x y text))
+      (implies
+        (fact rel1 x y)
+        (exists ((x-0 name)) (fact rel2 x-0 y)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (defgenrule fact-init-rel11
+    (forall ((z strd) (n2 n1 text))
+      (implies
+        (and (p "init" z (idx 2)) (p "init" "n1" z n1)
+          (p "init" "n2" z n2)) (fact rel1 n1 n2))))
+  (defgenrule fact-init-rel20
+    (forall ((z strd) (n2 n1 text))
+      (implies
+        (and (p "init" z (idx 2)) (p "init" "n1" z n1)
+          (p "init" "n2" z n2)) (fact rel2 n1 n2))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (x name) (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 34)
+  (unrealized (0 1))
+  (maps ((0) ((x x) (n1 n1) (n2 n2) (a a) (b b))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (x name) (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 35)
+  (parent 34)
+  (unrealized (0 1))
+  (maps ((0) ((x x) (n1 n1) (n2 n2) (a a) (b b))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (x name) (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
+  (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
+    (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
+  (label 36)
+  (parent 35)
+  (realized)
+  (maps ((0) ((x x) (n1 n1) (n2 n2) (a a) (b b))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 text) (x x-0 name) (n1 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel2 x-0 n2-0) (rel1 n1 n2-0) (rel2 n1 n2-0) (rel2 x n2)
+    (rel1 n1 n2) (rel2 n1 n2))
+  (comment "Double initiator point-of-view, same nonce")
+  (rule fact-init-rel11 fact-init-rel20 rebind-x)
+  (operation generalization separated n2-0)
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 37)
+  (parent 36)
+  (seen 36)
+  (seen-ops
+    (36 (operation generalization weakened ((0 0) (1 0)))
+      (strand-map 0 1)))
+  (realized)
+  (maps ((0) ((x x-0) (n1 n1) (n2 n2) (a a) (b b))))
+  (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/ns-unrebinding.scm b/tst/ns-unrebinding.scm
new file mode 100644
--- /dev/null
+++ b/tst/ns-unrebinding.scm
@@ -0,0 +1,81 @@
+
+
+(herald "ALternate Needham-Schroeder Public-Key Protocol Variants")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace
+     (send (enc n1 a (pubk b)))
+     (recv (enc n1 n2 b (pubk a)))
+     (send (enc n2 (pubk b))))
+  )
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace
+     (recv (enc n1 a (pubk b)))
+     (send (enc n1 n2 b (pubk a)))
+     (recv (enc n2 (pubk b)))))
+
+  
+
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+;;; The initiator point-of-view
+(defskeleton ns
+  (vars (a b name) (n1 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (non-orig (privk b) (privk a))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view"))
+
+(defskeleton ns
+  (vars (a b name) (n1 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (non-orig (privk b) (privk a))
+  (uniq-orig n1)
+  (facts (rel n1 n1))
+  (comment "Initiator point-of-view"))
+
+(defskeleton ns
+  (vars (a b name) (n1 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view"))
+
+(defskeleton ns
+  (vars (a b name) (n1 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (deflistener n1)
+  (non-orig (privk b) (privk a))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view"))
+
+;;; Double initiator point-of-view
+(defskeleton ns
+  (vars (a b name) (n1 n1-0 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (defstrand init 3 (a a) (b b) (n1 n1-0))
+  (non-orig (privk b) (privk a))
+  (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view"))
+
+;;; Double initiator point-of-view, same nonce
+(defskeleton ns
+  (vars (a b name) (n1 text))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (defstrand init 3 (a a) (b b) (n1 n1))
+  (non-orig (privk b) (privk a))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce"))
+
+;;; The responder point-of-view
+(defskeleton ns
+  (vars (a name) (n2 text))
+  (defstrand resp 3 (a a) (n2 n2))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (comment "Responder point-of-view"))
+
+
diff --git a/tst/ns-unrebinding.tst b/tst/ns-unrebinding.tst
new file mode 100644
--- /dev/null
+++ b/tst/ns-unrebinding.tst
@@ -0,0 +1,694 @@
+(herald "ALternate Needham-Schroeder Public-Key Protocol Variants")
+
+(comment "CPSA 4.4.7")
+(comment "All input read from tst/ns-unrebinding.scm")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 0)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
+    (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
+  (label 2)
+  (parent 1)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel n1 n1))
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 3)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel n1 n1))
+  (comment "Initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (facts (rel n1 n1))
+  (comment "Initiator point-of-view")
+  (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
+    (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
+  (label 5)
+  (parent 4)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 6)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 7)
+  (parent 6)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n1) (send n1)))
+  (label 8)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n1) (send n1)))
+  (label 9)
+  (parent 8)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (deflistener n1)
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (2 0)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1 (1 0)
+    (enc n1 a (pubk b)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n1) (send n1))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 text) (a b name))
+  (defstrand init 3 (n1 n2) (n2 n2) (a a) (b b))
+  (deflistener n2)
+  (defstrand resp 2 (n2 n2) (n1 n2) (b b) (a a))
+  (precedes ((0 0) (2 0)) ((0 2) (1 0)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (comment "Initiator point-of-view")
+  (operation nonce-test (displaced 3 0 init 3) n2-0 (1 0)
+    (enc n2-0 a (pubk b)) (enc n2-0 n2-0 b (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n2 a (pubk b))) (recv (enc n2 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((recv (enc n2 a (pubk b))) (send (enc n2 n2 b (pubk a)))))
+  (label 11)
+  (parent 10)
+  (unrealized (0 1) (1 0))
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n2) (n2 n2) (a a) (b b))
+  (deflistener n2)
+  (defstrand resp 2 (n2 n2) (n1 n2) (b b) (a a))
+  (defstrand resp 2 (n2 n2-0) (n1 n2) (b b) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 2) (1 0)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n2)
+  (comment "Initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n2 (1 0) (enc n2 (pubk b))
+    (enc n2 a (pubk b)) (enc n2 n2 b (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n2 a (pubk b))) (recv (enc n2 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))) ((recv n2) (send n2))
+    ((recv (enc n2 a (pubk b))) (send (enc n2 n2 b (pubk a))))
+    ((recv (enc n2 a (pubk b))) (send (enc n2 n2-0 b (pubk a)))))
+  (label 12)
+  (parent 11)
+  (unrealized (0 1) (1 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (n1 n2) (n2 n2))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b)))))
+  (label 13)
+  (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (origs (n1 (0 0)) (n1-0 (1 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view")
+  (operation collapsed 1 0)
+  (strand-map 0 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 14)
+  (parent 13)
+  (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 n2-1 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-1) (n1 n1-0) (b b) (a a))
+  (precedes ((1 0) (2 0)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1-0 (1 1)
+    (enc n1-0 a (pubk b)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-1 b (pubk a)))))
+  (label 15)
+  (parent 13)
+  (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 16)
+  (parent 14)
+  (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1-0) (b b) (a a))
+  (precedes ((1 0) (2 0)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
+  (operation nonce-test (contracted (n2-1 n2-0)) n1-0 (1 1)
+    (enc n1-0 a (pubk b)) (enc n1-0 n2-0 b (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-0 b (pubk a)))))
+  (label 17)
+  (parent 15)
+  (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view")
+  (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
+    (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
+  (label 18)
+  (parent 16)
+  (realized)
+  (shape)
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0))))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 n2-1 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2-0) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1-0) (b b) (a a))
+  (defstrand resp 2 (n2 n2-1) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2-0 b (pubk a))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-1 b (pubk a)))))
+  (label 19)
+  (parent 17)
+  (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n1-0 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2-0) (a a) (b b))
+  (defstrand init 3 (n1 n1-0) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1-0) (b b) (a a))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
+  (operation nonce-test (contracted (n2-1 n2-0)) n1 (0 1)
+    (enc n1 a (pubk b)) (enc n1 n2-0 b (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b))))
+    ((send (enc n1-0 a (pubk b))) (recv (enc n1-0 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1-0 a (pubk b))) (send (enc n1-0 n2 b (pubk a))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 20)
+  (parent 19)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2-0) (n2-0 n2))))
+  (origs (n1 (0 0)) (n1-0 (1 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand init 3 (n1 n1) (n2 n2-0) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2-0 b (pubk a)))
+      (send (enc n2-0 (pubk b)))))
+  (label 21)
+  (realized)
+  (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2-0))))
+  (origs (n1 (1 0)) (n1 (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 22)
+  (parent 21)
+  (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 n2-0 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2-0) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
+  (operation nonce-test (added-strand resp 2) n1 (0 1)
+    (enc n1 a (pubk b)))
+  (strand-map 0)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2-0 b (pubk a)))))
+  (label 23)
+  (parent 22)
+  (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n1 n2 text) (a b name))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (defstrand resp 2 (n2 n2) (n1 n1) (b b) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
+  (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
+    (enc n1 a (pubk b)) (enc n1 n2 b (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b))))
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))))
+  (label 24)
+  (parent 23)
+  (realized)
+  (shape)
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol ns basic
+  (defrole init
+    (vars (a b name) (n1 n2 text))
+    (trace (send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (defrole resp
+    (vars (b a name) (n2 n1 text))
+    (trace (recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false))))
+  (comment "Needham-Schroeder with no role origination assumptions"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (comment "Responder point-of-view")
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b)))))
+  (label 25)
+  (unrealized (0 2))
+  (maps ((0) ((a a) (n2 n2) (b b) (n1 n1))))
+  (origs (n2 (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton ns
+  (vars (n2 n1 text) (a b name))
+  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
+  (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
+  (precedes ((0 1) (1 1)) ((1 2) (0 2)))
+  (non-orig (privk a))
+  (uniq-orig n2)
+  (comment "Responder point-of-view")
+  (operation nonce-test (added-strand init 3) n2 (0 2)
+    (enc n1 n2 b (pubk a)))
+  (strand-map 0)
+  (traces
+    ((recv (enc n1 a (pubk b))) (send (enc n1 n2 b (pubk a)))
+      (recv (enc n2 (pubk b))))
+    ((send (enc n1 a (pubk b))) (recv (enc n1 n2 b (pubk a)))
+      (send (enc n2 (pubk b)))))
+  (label 26)
+  (parent 25)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (n2 n2) (b b) (n1 n1))))
+  (origs (n2 (0 1))))
+
+(comment "Nothing left to do")
diff --git a/tst/ns.tst b/tst/ns.tst
--- a/tst/ns.tst
+++ b/tst/ns.tst
@@ -1,6 +1,6 @@
 (herald "Needham-Schroeder Public-Key Protocol Variants")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ns.scm")
 
 (defprotocol ns basic
@@ -31,6 +31,7 @@
       (send (enc n2 (pubk b)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -41,6 +42,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -51,6 +53,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -60,6 +63,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -107,6 +111,7 @@
       (send (enc n2-0 (pubk b)))))
   (label 3)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (origs (n1 (0 0)) (n1-0 (1 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -115,6 +120,7 @@
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view")
   (operation collapsed 1 0)
   (strand-map 0 0)
   (traces
@@ -123,6 +129,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -133,6 +140,7 @@
   (precedes ((1 0) (2 0)) ((2 1) (1 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1-0 (1 1)
     (enc n1-0 a (pubk b)))
   (strand-map 0 1)
@@ -145,6 +153,7 @@
   (label 5)
   (parent 3)
   (unrealized (0 1) (1 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -154,6 +163,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -164,6 +174,7 @@
   (label 6)
   (parent 4)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n1-0 n1) (n2 n2) (n2-0 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -175,6 +186,7 @@
   (precedes ((1 0) (2 0)) ((2 1) (1 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
   (operation nonce-test (contracted (n2-1 n2-0)) n1-0 (1 1)
     (enc n1-0 n2-0 (pubk a)) (enc n1-0 a (pubk b)))
   (strand-map 0 1 2)
@@ -187,6 +199,7 @@
   (label 7)
   (parent 5)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -196,6 +209,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -219,6 +233,7 @@
   (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0 1 2)
@@ -232,6 +247,7 @@
   (label 9)
   (parent 7)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n1-0 n1-0) (n2 n2) (n2-0 n2-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -243,6 +259,7 @@
   (precedes ((0 0) (3 0)) ((1 0) (2 0)) ((2 1) (1 1)) ((3 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n1-0)
+  (comment "Double initiator point-of-view")
   (operation nonce-test (contracted (n2-1 n2-0)) n1 (0 1)
     (enc n1 n2-0 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1 2 3)
@@ -294,6 +311,7 @@
   (label 11)
   (realized)
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2-0))))
   (origs (n1 (1 0)) (n1 (0 0)))
   (comment "Not a skeleton"))
 
@@ -302,13 +320,14 @@
   (defstrand init 3 (n1 n1) (n2 n2) (a a) (b b))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
   (traces
     ((send (enc n1 a (pubk b))) (recv (enc n1 n2 (pubk a)))
       (send (enc n2 (pubk b)))))
   (label 12)
   (parent 11)
   (unrealized (0 1))
-  (origs (n1 (0 0)))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -318,6 +337,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
   (operation nonce-test (added-strand resp 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -328,6 +348,8 @@
   (label 13)
   (parent 12)
   (unrealized (0 1))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
+  (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -337,6 +359,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1)
+  (comment "Double initiator point-of-view, same nonce")
   (operation nonce-test (contracted (n2-0 n2)) n1 (0 1)
     (enc n1 n2 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -348,7 +371,7 @@
   (parent 13)
   (realized)
   (shape)
-  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2))))
+  (maps ((0 0) ((a a) (b b) (n1 n1) (n2 n2) (n2-0 n2))))
   (origs (n1 (0 0))))
 
 (comment "Nothing left to do")
@@ -381,6 +404,7 @@
       (recv (enc n2 (pubk b)))))
   (label 15)
   (unrealized (0 2))
+  (maps ((0) ((a a) (n2 n2) (b b) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -391,6 +415,7 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (privk a))
   (uniq-orig n2)
+  (comment "Responder point-of-view")
   (operation nonce-test (added-strand init 3) n2 (0 2)
     (enc n1 n2 (pubk a)))
   (strand-map 0)
@@ -440,6 +465,7 @@
       (send (enc n2 (pubk b)))))
   (label 17)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -460,6 +486,7 @@
   (label 18)
   (parent 17)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns-role-origs
@@ -517,6 +544,7 @@
       (recv (enc n2 (pubk b)))))
   (label 20)
   (unrealized (0 2))
+  (maps ((0) ((b b) (a a) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -538,6 +566,7 @@
   (label 21)
   (parent 20)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((b b) (a a) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton ns-role-origs
@@ -582,6 +611,7 @@
   (label 23)
   (parent 21)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((b b) (a a) (n2 n2) (n1 n1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns-role-origs
@@ -607,6 +637,7 @@
   (seen-ops
     (22 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0) ((b b) (a a) (n2 n2) (n1 n1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -639,6 +670,7 @@
       (send (enc n2 (pubk b)))))
   (label 25)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -659,6 +691,7 @@
   (label 26)
   (parent 25)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n3) (n2 n2) (n3 n3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns2
@@ -749,6 +782,7 @@
   (label 29)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "Not a skeleton"))
 
@@ -759,11 +793,13 @@
   (precedes ((0 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
+  (comment "Shows typeflaw in typeless NSL")
   (traces ((recv (enc a n1 (pubk b))) (send (enc n1 n2 b (pubk a))))
     ((recv n2) (send n2)))
   (label 30)
   (parent 29)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -775,6 +811,7 @@
   (precedes ((0 1) (2 1)) ((2 2) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
+  (comment "Shows typeflaw in typeless NSL")
   (operation nonce-test (added-strand init 3) n2 (1 0)
     (enc n1 n2 b (pubk a)))
   (strand-map 0 1)
@@ -786,6 +823,7 @@
   (parent 30)
   (unrealized (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "empty cohort"))
 
 (defskeleton nsl-typeless
@@ -796,6 +834,7 @@
   (precedes ((0 1) (2 0)) ((2 1) (1 0)))
   (non-orig (privk a) (privk b))
   (uniq-orig n2)
+  (comment "Shows typeflaw in typeless NSL")
   (operation nonce-test (added-strand resp 2) n2 (1 0)
     (enc a-0 n2 b (pubk a)))
   (strand-map 0 1)
diff --git a/tst/nsl3.tst b/tst/nsl3.tst
--- a/tst/nsl3.tst
+++ b/tst/nsl3.tst
@@ -1,6 +1,6 @@
 (herald "Three Party Needham-Schroeder-Lowe Protocol")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/nsl3.scm")
 
 (defprotocol nsl3 basic
@@ -58,6 +58,10 @@
           (pubk b)))))
   (label 0)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (origs (na1 (0 0)) (na0 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -88,6 +92,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -128,6 +136,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton nsl3
@@ -226,6 +238,10 @@
   (label 4)
   (parent 2)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -280,6 +296,10 @@
   (seen-ops
     (3 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -339,6 +359,10 @@
           (pubk b))) (send (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
   (label 6)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (origs (nb1 (0 1)) (nb0 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -372,6 +396,10 @@
   (label 7)
   (parent 6)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -415,6 +443,10 @@
   (label 8)
   (parent 7)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton nsl3
@@ -519,6 +551,10 @@
   (label 10)
   (parent 8)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -577,6 +613,10 @@
   (seen-ops
     (9 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -636,6 +676,10 @@
       (recv (enc nc0 (enc nc1 (pubk c)) (pubk c)))))
   (label 12)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (origs (nc1 (0 1)) (nc0 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -670,6 +714,10 @@
   (label 13)
   (parent 12)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -708,6 +756,10 @@
   (label 14)
   (parent 13)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton nsl3
@@ -748,6 +800,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -798,6 +854,10 @@
   (label 16)
   (parent 14)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton nsl3
@@ -842,6 +902,10 @@
   (label 17)
   (parent 15)
   (unrealized (2 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -893,6 +957,10 @@
   (label 18)
   (parent 16)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -952,6 +1020,10 @@
   (label 19)
   (parent 16)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton nsl3
@@ -1053,6 +1125,10 @@
   (label 21)
   (parent 18)
   (unrealized (3 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -1113,6 +1189,10 @@
   (label 22)
   (parent 19)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -1173,6 +1253,10 @@
   (label 23)
   (parent 19)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -1227,6 +1311,10 @@
   (seen-ops
     (20 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nsl3
@@ -1287,6 +1375,10 @@
   (label 25)
   (parent 22)
   (unrealized (4 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -1348,6 +1440,10 @@
   (label 26)
   (parent 23)
   (unrealized (4 2))
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -1406,6 +1502,10 @@
   (label 27)
   (parent 25)
   (realized)
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nsl3
@@ -1467,6 +1567,10 @@
   (seen-ops
     (29 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0-0) (nb1 nb1-0)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton nsl3
@@ -1517,6 +1621,10 @@
   (seen-ops
     (20 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((a a) (b b) (c c) (na0 na0) (na1 na1) (nb0 nb0) (nb1 nb1)
+        (nc0 nc0) (nc1 nc1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/nslsk.tst b/tst/nslsk.tst
--- a/tst/nslsk.tst
+++ b/tst/nslsk.tst
@@ -1,6 +1,6 @@
 (herald "Needham-Schroeder-Lowe Protocol with symmetric encryption")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/nslsk.scm")
 
 (defprotocol nslsk basic
@@ -29,6 +29,7 @@
       (recv (enc t k))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (k k) (b b) (n n) (t t))))
   (origs (k (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -49,6 +50,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 1))
+  (maps ((0) ((a a) (k k) (b b) (n n) (t t))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nslsk
@@ -67,6 +69,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (k k) (b b) (n n) (t t))))
   (comment "empty cohort"))
 
 (defskeleton nslsk
@@ -119,6 +122,7 @@
       (send (enc t k))))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((b b) (n n) (a a) (k k) (t t))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -171,6 +175,7 @@
       (recv (enc "t" k))))
   (label 6)
   (unrealized (0 2))
+  (maps ((0) ((a a) (k k) (b b) (n n))))
   (origs (k (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -191,6 +196,7 @@
   (label 7)
   (parent 6)
   (unrealized (1 1))
+  (maps ((0) ((a a) (k k) (b b) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton nslsk-tag-term
@@ -209,6 +215,7 @@
   (parent 6)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (k k) (b b) (n n))))
   (comment "empty cohort"))
 
 (defskeleton nslsk-tag-term
@@ -261,6 +268,7 @@
       (send (enc "t" k))))
   (label 10)
   (unrealized (0 1))
+  (maps ((0) ((b b) (n n) (a a) (k k))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/open-closed-multiloc.tst b/tst/open-closed-multiloc.tst
--- a/tst/open-closed-multiloc.tst
+++ b/tst/open-closed-multiloc.tst
@@ -1,6 +1,6 @@
 (herald open-closed (bound 44))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/open-closed-multiloc.scm")
 (comment "Strand count bounded at 44")
 
@@ -41,21 +41,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -83,9 +83,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -158,6 +157,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -173,6 +173,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -201,6 +202,7 @@
   (parent 1)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -242,21 +244,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -284,9 +286,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -357,6 +358,7 @@
       (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
   (label 3)
   (realized)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "Not closed under rules"))
 
@@ -372,6 +374,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -441,21 +444,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -483,9 +486,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -561,6 +563,10 @@
   (label 6)
   (unrealized (0 1) (1 0) (1 1))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -579,6 +585,10 @@
   (label 7)
   (parent 6)
   (unrealized (0 1) (1 0) (1 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -599,6 +609,10 @@
   (label 8)
   (parent 7)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -630,6 +644,10 @@
   (label 9)
   (parent 8)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -659,6 +677,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 1) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton open-closed
@@ -687,6 +709,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -715,6 +741,10 @@
   (label 12)
   (parent 10)
   (unrealized (0 1) (1 2) (3 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -750,6 +780,10 @@
   (label 13)
   (parent 11)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton open-closed
@@ -757,31 +791,34 @@
     (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk ls-0 locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
-  (deflistener k)
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls-0))
-  (precedes ((0 0) (3 0)) ((2 1) (1 1)) ((3 4) (1 0)) ((3 4) (2 0)))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((2 4) (3 0)) ((3 1) (1 1)))
   (uniq-orig k n)
   (gen-st (cat "st" d o o))
   (conf start-ch)
   (auth start-ch)
-  (leads-to ((3 4) (1 0)))
+  (leads-to ((2 4) (1 0)))
   (rule power-deliver-once trRl_dev-up-at-1 trRl_dev-up-at-2
     trRl_dev-up-at-3 trRl_dev-up-at-4)
   (operation nonce-test (added-strand dev-up 5) k (3 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 3 2)
+  (strand-map 0 1 2 3)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
     ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
       (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
-    ((recv k) (send k))
     ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
       (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
-      (stor lk (cat pt-3 "st-k" d o k))))
+      (stor lk (cat pt-3 "st-k" d o k))) ((recv k) (send k)))
   (label 14)
   (parent 12)
-  (unrealized (0 1) (1 2) (2 0))
+  (unrealized (0 1) (1 2) (3 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton open-closed
@@ -858,46 +895,53 @@
   (label 16)
   (parent 13)
   (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
-  (vars (any old old1 mesg) (k k-0 skey) (n n-0 text) (d o name)
+  (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
     (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
-    (ls lk lk-0 ls-0 locn))
+    (ls lk ls-0 lk-0 locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
-  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
+    (start-ch start-ch) (lk lk) (ls ls-0))
   (defstrand user-pass 1 (k k))
-  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
     (ls ls))
   (deflistener k)
-  (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
-    (start-ch start-ch) (lk lk-0) (ls ls-0))
-  (precedes ((0 0) (5 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 1) (0 1))
-    ((5 4) (1 0)) ((5 4) (4 0)))
+  (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((2 4) (5 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
   (uniq-orig k n)
   (gen-st (cat "st" d o o))
   (conf start-ch)
   (auth start-ch)
-  (leads-to ((3 3) (1 2)) ((5 4) (1 0)))
+  (leads-to ((2 4) (1 0)) ((4 3) (1 2)))
   (rule power-deliver-once trRl_dev-up-at-1 trRl_dev-up-at-2
     trRl_dev-up-at-3 trRl_dev-up-at-4)
   (operation nonce-test (added-strand dev-up 5) k (5 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 3 4 5 2)
+  (strand-map 0 1 2 3 4 5)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
-    ((load lk-0 (cat pt-5 "st-k" d o k)) (recv (enc "may I pass" k))
+    ((load lk (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
       (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
-    ((send (enc "may I pass" k)))
-    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
-      (load ls (cat pt-1 "st" d any)) (stor ls (cat pt "st" d o o)))
-    ((recv k) (send k))
-    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
-      (load ls-0 (cat pt-3 old1)) (stor ls-0 (cat pt-4 "st" d o))
-      (stor lk-0 (cat pt-5 "st-k" d o k))))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (load ls-0 (cat pt-1 old1)) (stor ls-0 (cat pt-2 "st" d o))
+      (stor lk (cat pt-3 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-4 "st-k" d o k-0))
+      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-5 "st" d any))
+      (stor ls (cat pt "st" d o o))) ((recv k) (send k)))
   (label 17)
   (parent 16)
-  (unrealized (4 0))
+  (unrealized (5 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/open-closed-tag.tst b/tst/open-closed-tag.tst
--- a/tst/open-closed-tag.tst
+++ b/tst/open-closed-tag.tst
@@ -1,6 +1,6 @@
 (herald open-closed (bound 44))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/open-closed-tag.scm")
 (comment "Strand count bounded at 44")
 
@@ -43,21 +43,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z "opened"))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z "opened")
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -85,9 +85,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -151,6 +150,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -166,6 +166,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -192,6 +193,7 @@
   (parent 1)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -235,21 +237,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z "opened"))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z "opened")
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -277,9 +279,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -342,6 +343,7 @@
       (send (enc "you may pass" n k))))
   (label 3)
   (realized)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "Not closed under rules"))
 
@@ -358,6 +360,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -430,21 +433,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z "opened"))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z "opened")
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -472,9 +475,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -541,6 +543,10 @@
   (label 6)
   (unrealized (0 1) (1 0) (1 1))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -559,6 +565,10 @@
   (label 7)
   (parent 6)
   (unrealized (0 1) (1 0) (1 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -579,6 +589,10 @@
   (label 8)
   (parent 7)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -607,6 +621,10 @@
   (label 9)
   (parent 8)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -636,6 +654,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 1) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton open-closed
@@ -664,6 +686,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -692,6 +718,10 @@
   (label 12)
   (parent 10)
   (unrealized (0 1) (1 2) (3 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -726,6 +756,10 @@
   (label 13)
   (parent 11)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton open-closed
@@ -733,29 +767,33 @@
     (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
-  (deflistener k)
   (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
     (lk lk))
-  (precedes ((0 0) (3 0)) ((2 1) (1 1)) ((3 2) (1 0)) ((3 2) (2 0)))
+  (deflistener k)
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (3 0)) ((3 1) (1 1)))
   (uniq-orig k n)
   (gen-st (cat "st" d "opened"))
   (conf start-ch)
   (auth start-ch)
-  (leads-to ((3 2) (1 0)))
+  (leads-to ((2 2) (1 0)))
   (rule power-deliver-once trRl_dev-up-at-1 trRl_dev-up-at-2)
   (operation nonce-test (added-strand dev-up 3) k (3 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 3 2)
+  (strand-map 0 1 2 3)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
     ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
       (load ls (cat pt "st" d "opened"))
-      (send (enc "you may pass" n k))) ((recv k) (send k))
+      (send (enc "you may pass" n k)))
     ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
-      (stor lk (cat pt-1 "st-k" d o k))))
+      (stor lk (cat pt-1 "st-k" d o k))) ((recv k) (send k)))
   (label 14)
   (parent 12)
-  (unrealized (0 1) (1 2) (2 0))
+  (unrealized (0 1) (1 2) (3 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton open-closed
@@ -832,43 +870,51 @@
   (label 16)
   (parent 13)
   (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
-  (vars (any old mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
+  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o o-0 name)
     (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
-  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk))
   (defstrand user-pass 1 (k k))
-  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0) (lk lk)
-    (ls ls))
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0)
+    (lk lk-0) (ls ls))
   (deflistener k)
-  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
-    (lk lk-0))
-  (precedes ((0 0) (5 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 1) (0 1))
-    ((5 2) (1 0)) ((5 2) (4 0)))
+  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (5 0)) ((3 0) (1 1))
+    ((4 3) (1 2)) ((5 1) (0 1)))
   (uniq-orig k n)
   (gen-st (cat "st" d "opened"))
   (conf start-ch)
   (auth start-ch)
-  (leads-to ((3 3) (1 2)) ((5 2) (1 0)))
+  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
   (rule power-deliver-once trRl_dev-up-at-1 trRl_dev-up-at-2)
   (operation nonce-test (added-strand dev-up 3) k (5 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 3 4 5 2)
+  (strand-map 0 1 2 3 4 5)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
-    ((load lk-0 (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
+    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
       (load ls (cat pt "st" d "opened"))
-      (send (enc "you may pass" n k))) ((send (enc "may I pass" k)))
-    ((load lk (cat pt-0 "st-k" d o-0 k-0))
-      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-1 "st" d any))
-      (stor ls (cat pt "st" d "opened"))) ((recv k) (send k))
-    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
-      (stor lk-0 (cat pt-3 "st-k" d o k))))
+      (send (enc "you may pass" n k)))
+    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
+      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
+    ((load lk-0 (cat pt-2 "st-k" d o-0 k-0))
+      (recv (enc "open" d o-0 n-0 k-0)) (load ls (cat pt-3 "st" d any))
+      (stor ls (cat pt "st" d "opened"))) ((recv k) (send k)))
   (label 17)
   (parent 16)
-  (unrealized (4 0))
+  (unrealized (5 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -912,21 +958,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z "opened"))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z "opened")
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d "opened")))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -954,9 +1000,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1038,6 +1083,11 @@
       (stor ls (cat pt-7 "st" d "opened"))))
   (label 18)
   (unrealized (1 0))
+  (maps
+    ((0 1 2 3 4)
+      ((old old) (old1 old1) (any any) (n n) (n-0 n-0) (d d) (o o) (k k)
+        (k-0 k-0) (start-ch start-ch) (ls ls) (lk lk) (ls-0 ls-0)
+        (lk-0 lk-0))))
   (origs (pt-7 (4 3)) (pt-4 (2 4)) (pt-2 (2 2)) (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -1074,6 +1124,11 @@
   (label 19)
   (parent 18)
   (unrealized (1 0) (1 2))
+  (maps
+    ((0 1 2 3 4)
+      ((old old) (old1 old1) (any any) (n n) (n-0 n-0) (d d) (o o) (k k)
+        (k-0 k-0) (start-ch start-ch) (ls ls) (lk lk) (ls-0 ls-0)
+        (lk-0 lk-0))))
   (origs (pt-7 (4 3)) (pt-4 (2 4)) (pt-2 (2 2)) (n (1 3)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1113,6 +1168,11 @@
   (label 20)
   (parent 19)
   (unrealized (1 2))
+  (maps
+    ((0 1 2 3 4)
+      ((old old) (old1 old1) (any any) (n n) (n-0 n-0) (d d) (o o) (k k)
+        (k-0 k-0) (start-ch start-ch) (ls ls) (lk lk) (ls-0 ls-0)
+        (lk-0 lk-0))))
   (origs (pt-6 (4 3)) (pt-3 (2 4)) (pt-1 (2 2)) (n (1 3)) (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
diff --git a/tst/open-closed.tst b/tst/open-closed.tst
--- a/tst/open-closed.tst
+++ b/tst/open-closed.tst
@@ -1,6 +1,6 @@
 (herald open-closed (bound 44))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/open-closed.scm")
 (comment "Strand count bounded at 44")
 
@@ -41,21 +41,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z2 z1))))
   (defrule same-locn
     (forall ((z1 z2 strd) (i1 i2 indx))
@@ -91,9 +91,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -157,6 +156,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -172,6 +172,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -200,6 +201,7 @@
   (parent 1)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -241,21 +243,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z2 z1))))
   (defrule same-locn
     (forall ((z1 z2 strd) (i1 i2 indx))
@@ -291,9 +293,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -355,6 +356,7 @@
       (load ls (cat pt-0 "st" d o o)) (send (enc "you may pass" n k))))
   (label 3)
   (realized)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "Not closed under rules"))
 
@@ -371,6 +373,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -446,21 +449,21 @@
   (defrule gen-state-close
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-close" z (idx 1)) (p "dev-close" "d" z d)
-          (p "dev-close" "o" z o) (p "dev-close" "k" z k)
-          (p "dev-close" "any" z (cat o o)))
+        (and (p "dev-close" z (idx 1)) (p "dev-close" "any" z (cat o o))
+          (p "dev-close" "k" z k) (p "dev-close" "o" z o)
+          (p "dev-close" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule gen-state-pass
     (forall ((z strd) (d o name) (k skey))
       (implies
-        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "d" z d)
-          (p "dev-pass" "o" z o) (p "dev-pass" "k" z k))
+        (and (p "dev-pass" z (idx 1)) (p "dev-pass" "k" z k)
+          (p "dev-pass" "o" z o) (p "dev-pass" "d" z d))
         (gen-st (cat "st" d o o)))))
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z2 z1))))
   (defrule same-locn
     (forall ((z1 z2 strd) (i1 i2 indx))
@@ -496,9 +499,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -565,6 +567,10 @@
   (label 6)
   (unrealized (0 1) (1 0) (1 1))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -583,6 +589,10 @@
   (label 7)
   (parent 6)
   (unrealized (0 1) (1 0) (1 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -604,6 +614,10 @@
   (label 8)
   (parent 7)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -635,6 +649,10 @@
   (label 9)
   (parent 8)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -670,6 +688,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 1) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton open-closed
@@ -703,6 +725,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -736,6 +762,10 @@
   (label 12)
   (parent 10)
   (unrealized (0 1) (1 2) (3 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
@@ -780,6 +810,10 @@
   (label 13)
   (parent 11)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton open-closed
@@ -787,34 +821,39 @@
     (start-ch chan) (ls lk locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
+  (deflistener k)
   (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
     (lk lk))
-  (deflistener k)
-  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (3 0)) ((3 1) (1 1)))
+  (precedes ((0 0) (3 0)) ((2 1) (1 1)) ((3 2) (1 0)) ((3 2) (2 0)))
   (uniq-orig k n)
   (gen-st (cat "st" d o o))
   (conf start-ch)
   (auth start-ch)
-  (facts (ha 2 (idx 1) 2 (idx 1)) (ha 2 (idx 1) 2 (idx 2))
-    (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))
-    (ha 1 (idx 0) 2 (idx 1)) (ha 1 (idx 0) 2 (idx 2))
-    (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 2) 1 (idx 0))
-    (la 2 (idx 2) 1 (idx 0)) (ha 1 (idx 0) 1 (idx 0))
+  (facts (ha 3 (idx 1) 3 (idx 1)) (ha 3 (idx 1) 3 (idx 2))
+    (ha 3 (idx 2) 3 (idx 1)) (ha 3 (idx 2) 3 (idx 2))
+    (ha 1 (idx 0) 3 (idx 1)) (ha 1 (idx 0) 3 (idx 2))
+    (ha 3 (idx 1) 1 (idx 0)) (ha 3 (idx 2) 1 (idx 0))
+    (la 3 (idx 2) 1 (idx 0)) (ha 1 (idx 0) 1 (idx 0))
     (ha 1 (idx 2) 1 (idx 2)))
-  (leads-to ((2 2) (1 0)))
+  (leads-to ((3 2) (1 0)))
   (rule power-deliver-once same-locn trRl_dev-up-at-1 trRl_dev-up-at-2)
   (operation nonce-test (added-strand dev-up 3) k (3 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 2 3)
+  (strand-map 0 1 3 2)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
     ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
       (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
+    ((recv k) (send k))
     ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
-      (stor lk (cat pt-1 "st-k" d o k))) ((recv k) (send k)))
+      (stor lk (cat pt-1 "st-k" d o k))))
   (label 14)
   (parent 12)
-  (unrealized (0 1) (1 2) (3 0))
+  (unrealized (0 1) (1 2) (2 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton open-closed
@@ -913,53 +952,62 @@
   (label 16)
   (parent 13)
   (unrealized (5 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton open-closed
-  (vars (old any mesg) (k k-0 skey) (n n-0 text) (d o name)
+  (vars (any old mesg) (k k-0 skey) (n n-0 text) (d o name)
     (pt pt-0 pt-1 pt-2 pt-3 pval) (start-ch chan) (ls lk lk-0 locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
-  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
-  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
-    (lk lk))
+  (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk-0) (ls ls))
   (defstrand user-pass 1 (k k))
-  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk-0)
+  (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o) (lk lk)
     (ls ls))
   (deflistener k)
-  (precedes ((0 0) (2 0)) ((2 2) (1 0)) ((2 2) (5 0)) ((3 0) (1 1))
-    ((4 3) (1 2)) ((5 1) (0 1)))
+  (defstrand dev-up 3 (old old) (k k) (d d) (o o) (start-ch start-ch)
+    (lk lk-0))
+  (precedes ((0 0) (5 0)) ((2 0) (1 1)) ((3 3) (1 2)) ((4 1) (0 1))
+    ((5 2) (1 0)) ((5 2) (4 0)))
   (uniq-orig k n)
   (gen-st (cat "st" d o o))
   (conf start-ch)
   (auth start-ch)
-  (facts (ha 2 (idx 1) 2 (idx 1)) (ha 2 (idx 1) 2 (idx 2))
-    (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))
-    (ha 1 (idx 2) 4 (idx 2)) (ha 1 (idx 2) 4 (idx 3))
-    (ha 4 (idx 0) 4 (idx 0)) (ha 4 (idx 2) 1 (idx 2))
-    (ha 4 (idx 2) 4 (idx 2)) (ha 4 (idx 2) 4 (idx 3))
-    (ha 4 (idx 3) 1 (idx 2)) (ha 4 (idx 3) 4 (idx 2))
-    (ha 4 (idx 3) 4 (idx 3)) (la 4 (idx 3) 1 (idx 2))
-    (ha 1 (idx 0) 2 (idx 1)) (ha 1 (idx 0) 2 (idx 2))
-    (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 2) 1 (idx 0))
-    (la 2 (idx 2) 1 (idx 0)) (ha 1 (idx 0) 1 (idx 0))
+  (facts (ha 5 (idx 1) 5 (idx 1)) (ha 5 (idx 1) 5 (idx 2))
+    (ha 5 (idx 2) 5 (idx 1)) (ha 5 (idx 2) 5 (idx 2))
+    (ha 1 (idx 2) 3 (idx 2)) (ha 1 (idx 2) 3 (idx 3))
+    (ha 3 (idx 0) 3 (idx 0)) (ha 3 (idx 2) 1 (idx 2))
+    (ha 3 (idx 2) 3 (idx 2)) (ha 3 (idx 2) 3 (idx 3))
+    (ha 3 (idx 3) 1 (idx 2)) (ha 3 (idx 3) 3 (idx 2))
+    (ha 3 (idx 3) 3 (idx 3)) (la 3 (idx 3) 1 (idx 2))
+    (ha 1 (idx 0) 5 (idx 1)) (ha 1 (idx 0) 5 (idx 2))
+    (ha 5 (idx 1) 1 (idx 0)) (ha 5 (idx 2) 1 (idx 0))
+    (la 5 (idx 2) 1 (idx 0)) (ha 1 (idx 0) 1 (idx 0))
     (ha 1 (idx 2) 1 (idx 2)))
-  (leads-to ((2 2) (1 0)) ((4 3) (1 2)))
+  (leads-to ((3 3) (1 2)) ((5 2) (1 0)))
   (rule power-deliver-once same-locn trRl_dev-up-at-1 trRl_dev-up-at-2)
   (operation nonce-test (added-strand dev-up 3) k (5 0)
     (ch-msg start-ch (cat "power-up" d o k)))
-  (strand-map 0 1 2 3 4 5)
+  (strand-map 0 1 3 4 5 2)
   (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
-    ((load lk (cat pt-1 "st-k" d o k)) (recv (enc "may I pass" k))
+    ((load lk-0 (cat pt-3 "st-k" d o k)) (recv (enc "may I pass" k))
       (load ls (cat pt "st" d o o)) (send (enc "you may pass" n k)))
-    ((recv start-ch (cat "power-up" d o k)) (load lk (cat pt-0 old))
-      (stor lk (cat pt-1 "st-k" d o k))) ((send (enc "may I pass" k)))
-    ((load lk-0 (cat pt-2 "st-k" d o k-0))
-      (recv (enc "open" d o n-0 k-0)) (load ls (cat pt-3 "st" d any))
-      (stor ls (cat pt "st" d o o))) ((recv k) (send k)))
+    ((send (enc "may I pass" k)))
+    ((load lk (cat pt-0 "st-k" d o k-0)) (recv (enc "open" d o n-0 k-0))
+      (load ls (cat pt-1 "st" d any)) (stor ls (cat pt "st" d o o)))
+    ((recv k) (send k))
+    ((recv start-ch (cat "power-up" d o k)) (load lk-0 (cat pt-2 old))
+      (stor lk-0 (cat pt-3 "st-k" d o k))))
   (label 17)
   (parent 16)
-  (unrealized (5 0))
+  (unrealized (4 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk-0) (ls ls))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/or.tst b/tst/or.tst
--- a/tst/or.tst
+++ b/tst/or.tst
@@ -1,7 +1,7 @@
 (herald "Otway-Rees Protocol"
   (comment "Standard version using variables of sort mesg"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/or.scm")
 
 (defprotocol or basic
@@ -38,6 +38,7 @@
       (recv (cat m y (enc nb k (ltk b s)))) (send y)))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y))))
   (origs (nb (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -61,6 +62,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton or
@@ -83,6 +85,7 @@
   (label 2)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton or
@@ -104,6 +107,7 @@
   (label 3)
   (parent 1)
   (unrealized (1 0))
+  (maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton or
@@ -130,6 +134,7 @@
       (operation encryption-test (displaced 2 0 resp 2)
         (enc nb-0 m a a (ltk a s)) (1 0)) (strand-map 0 1)))
   (unrealized (1 0))
+  (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton or
diff --git a/tst/ordered.tst b/tst/ordered.tst
--- a/tst/ordered.tst
+++ b/tst/ordered.tst
@@ -1,6 +1,6 @@
 (herald ordered)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ordered.scm")
 
 (defprotocol ordered basic
@@ -10,7 +10,7 @@
   (defrule order
     (forall ((y z strd))
       (implies
-        (and (p "dec" y (idx 2)) (p "dec" z (idx 2)))
+        (and (p "dec" z (idx 2)) (p "dec" y (idx 2)))
         (or
           (prec y (idx 1) z (idx 0))
           (prec z (idx 1) y (idx 0))
@@ -30,6 +30,7 @@
   (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b)))
   (label 0)
   (realized)
+  (maps ((0 1) ((a a) (b b) (k k) (k-0 k-0))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -37,7 +38,7 @@
   (vars (a b text) (k k-0 akey))
   (defstrand dec 2 (t a) (k k))
   (defstrand dec 2 (t b) (k k-0))
-  (precedes ((1 1) (0 0)))
+  (precedes ((0 1) (1 0)))
   (facts (neq a b))
   (rule order)
   (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b)))
@@ -52,7 +53,7 @@
   (vars (a b text) (k k-0 akey))
   (defstrand dec 2 (t a) (k k))
   (defstrand dec 2 (t b) (k k-0))
-  (precedes ((0 1) (1 0)))
+  (precedes ((1 1) (0 0)))
   (facts (neq a b))
   (rule order)
   (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b)))
@@ -72,7 +73,7 @@
   (defrule order
     (forall ((y z strd))
       (implies
-        (and (p "dec" y (idx 2)) (p "dec" z (idx 2)))
+        (and (p "dec" z (idx 2)) (p "dec" y (idx 2)))
         (or
           (prec y (idx 1) z (idx 0))
           (prec z (idx 1) y (idx 0))
@@ -91,6 +92,7 @@
   (traces ((recv (enc b k)) (send b)))
   (label 3)
   (realized)
+  (maps ((0) ((b b) (k k))))
   (origs)
   (comment "Not closed under rules"))
 
diff --git a/tst/orderedvar.scm b/tst/orderedvar.scm
new file mode 100644
--- /dev/null
+++ b/tst/orderedvar.scm
@@ -0,0 +1,39 @@
+(herald ordered)
+
+(defprotocol ordered basic
+
+  (defrole dec
+    (vars (t text) (k akey))
+    (trace (recv (enc t k)) (send t)))
+
+;;     (defrule neq
+;;       (forall ((x mesg))
+;;   	    (implies (fact neq x x) (false))))
+
+  (defrule order
+    (forall ((y z strd))
+	    (implies
+	     (and (strand dec y 2)
+		  (strand dec z 2))
+	     (or (prec y 1 z 0)
+		 (prec z 1 y 0)
+		 (= y z))))))
+
+(defskeleton ordered
+  (vars (a b text))
+  (defstrand dec 2 (t a))
+  (defstrand dec 2 (t b))
+  (facts (neq a b)))
+
+(defskeleton ordered
+  (vars (b text) (k akey))
+  (defstrand dec 2 (t b) (k k))
+  (facts (neq b b))
+  (rule order)
+  (traces ((recv (enc b k)) (send b)))
+  (label 3)
+  (parent 0)
+  (unrealized)
+  (shape)
+  (maps ((0 0) ((a b) (b b) (k k) (k-0 k))))
+  (origs))
diff --git a/tst/orderedvar.tst b/tst/orderedvar.tst
new file mode 100644
--- /dev/null
+++ b/tst/orderedvar.tst
@@ -0,0 +1,99 @@
+(herald ordered)
+
+(comment "CPSA 4.4.7")
+(comment "All input read from tst/orderedvar.scm")
+
+(defprotocol ordered basic
+  (defrole dec
+    (vars (t text) (k akey))
+    (trace (recv (enc t k)) (send t)))
+  (defrule order
+    (forall ((y z strd))
+      (implies
+        (and (p "dec" z (idx 2)) (p "dec" y (idx 2)))
+        (or
+          (prec y (idx 1) z (idx 0))
+          (prec z (idx 1) y (idx 0))
+          (= y z)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton ordered
+  (vars (a b text) (k k-0 akey))
+  (defstrand dec 2 (t a) (k k))
+  (defstrand dec 2 (t b) (k k-0))
+  (facts (neq a b))
+  (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b)))
+  (label 0)
+  (realized)
+  (maps ((0 1) ((a a) (b b) (k k) (k-0 k-0))))
+  (origs)
+  (comment "Not closed under rules"))
+
+(defskeleton ordered
+  (vars (a b text) (k k-0 akey))
+  (defstrand dec 2 (t a) (k k))
+  (defstrand dec 2 (t b) (k k-0))
+  (precedes ((0 1) (1 0)))
+  (facts (neq a b))
+  (rule order)
+  (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b)))
+  (label 1)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (k k) (k-0 k-0))))
+  (origs))
+
+(defskeleton ordered
+  (vars (a b text) (k k-0 akey))
+  (defstrand dec 2 (t a) (k k))
+  (defstrand dec 2 (t b) (k k-0))
+  (precedes ((1 1) (0 0)))
+  (facts (neq a b))
+  (rule order)
+  (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b)))
+  (label 2)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (k k) (k-0 k-0))))
+  (origs))
+
+(comment "Nothing left to do")
+
+(defprotocol ordered basic
+  (defrole dec
+    (vars (t text) (k akey))
+    (trace (recv (enc t k)) (send t)))
+  (defrule order
+    (forall ((y z strd))
+      (implies
+        (and (p "dec" z (idx 2)) (p "dec" y (idx 2)))
+        (or
+          (prec y (idx 1) z (idx 0))
+          (prec z (idx 1) y (idx 0))
+          (= y z)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton ordered
+  (vars (b text) (k akey))
+  (defstrand dec 2 (t b) (k k))
+  (facts (neq b b))
+  (traces ((recv (enc b k)) (send b)))
+  (label 3)
+  (realized)
+  (maps ((0) ((b b) (k k))))
+  (origs)
+  (comment "Not closed under rules"))
+
+(comment "Nothing left to do")
diff --git a/tst/pca.tst b/tst/pca.tst
--- a/tst/pca.tst
+++ b/tst/pca.tst
@@ -1,7 +1,7 @@
 (herald "Privacy Certificate Authority" (bound 15)
   (comment "Generation of an Attestation Identity Certificate"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/pca.scm")
 (comment "Strand count bounded at 15")
 
@@ -36,6 +36,7 @@
   (traces ((recv (enc ki a t (invk kp)))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -54,6 +55,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 0) (1 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton pca
@@ -75,6 +77,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (1 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pca
@@ -95,6 +98,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pca
@@ -118,6 +122,7 @@
   (label 4)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pca
@@ -140,6 +145,7 @@
   (label 5)
   (parent 3)
   (unrealized (2 1))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pca
@@ -169,6 +175,7 @@
       (operation encryption-test (displaced 4 2 tpm 1)
         (enc t ke-0 (invk km-0)) (3 0)) (strand-map 0 1 2 1)))
   (unrealized (0 0) (3 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -194,6 +201,7 @@
   (label 7)
   (parent 4)
   (unrealized (3 1))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pca
@@ -226,6 +234,7 @@
       (operation encryption-test (displaced 5 3 tpm 1)
         (enc t ke-1 (invk km-1)) (4 0)) (strand-map 0 1 2 3 1)))
   (unrealized (0 0) (4 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -277,6 +286,7 @@
   (label 10)
   (parent 5)
   (unrealized (2 1) (3 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pca
@@ -333,6 +343,7 @@
   (label 12)
   (parent 7)
   (unrealized (3 1) (4 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton pca
@@ -362,6 +373,7 @@
   (seen-ops
     (9 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -391,6 +403,7 @@
   (label 14)
   (parent 10)
   (unrealized (2 1))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton pca
@@ -423,6 +436,7 @@
   (seen-ops
     (11 (operation generalization deleted (1 0)) (strand-map 0 2 3 4)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -452,6 +466,7 @@
   (label 16)
   (parent 12)
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton pca
@@ -483,6 +498,7 @@
   (label 17)
   (parent 12)
   (unrealized (3 1))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton pca
@@ -515,6 +531,7 @@
   (seen-ops
     (11 (operation generalization deleted (1 0)) (strand-map 0 2 3 4)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -544,6 +561,7 @@
   (label 19)
   (parent 14)
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton pca
@@ -581,6 +599,7 @@
       (operation encryption-test (displaced 6 4 tpm 1)
         (enc t ke-1 (invk km-1)) (5 0)) (strand-map 0 1 2 3 4 3)))
   (unrealized (2 1) (5 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -608,6 +627,7 @@
   (seen-ops
     (9 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -639,6 +659,7 @@
   (label 22)
   (parent 17)
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton pca
@@ -670,6 +691,7 @@
   (label 23)
   (parent 17)
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton pca
@@ -712,6 +734,7 @@
       (operation encryption-test (displaced 7 5 tpm 1)
         (enc t ke-1 (invk km-2)) (6 0)) (strand-map 0 1 2 3 4 5 4)))
   (unrealized (3 1) (6 0))
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -739,6 +762,7 @@
   (seen-ops
     (9 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -769,6 +793,7 @@
   (seen-ops
     (11 (operation generalization deleted (1 0)) (strand-map 0 2 3 4)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton pca
@@ -799,6 +824,7 @@
   (seen-ops
     (11 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((ki ki) (kp kp) (t t) (a a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/pen-non-orig-test.tst b/tst/pen-non-orig-test.tst
--- a/tst/pen-non-orig-test.tst
+++ b/tst/pen-non-orig-test.tst
@@ -1,6 +1,6 @@
 (herald "pen-non-orig test")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/pen-non-orig-test.scm")
 
 (defprotocol pennonorigtest basic
@@ -25,6 +25,7 @@
   (traces ((recv (cat userid pwd))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((pwd pwd) (userid userid))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -69,6 +70,7 @@
   (traces ((recv (cat userid pwd))) ((recv pwd) (send pwd)))
   (label 2)
   (unrealized (0 0) (1 0))
+  (maps ((0 1) ((pwd pwd) (userid userid))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -86,6 +88,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 0))
+  (maps ((0 1) ((pwd pwd) (userid userid))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton pennonorigtest
diff --git a/tst/pfs-via-pubkey.tst b/tst/pfs-via-pubkey.tst
--- a/tst/pfs-via-pubkey.tst
+++ b/tst/pfs-via-pubkey.tst
@@ -1,6 +1,6 @@
 (herald pfs-via-pubkey)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/pfs-via-pubkey.scm")
 
 (defprotocol pfs-easy basic
@@ -31,6 +31,7 @@
       (send (privk "sgn" a))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((new-akey new-akey) (a a) (b b) (n n) (s s))))
   (origs ((privk "sgn" a) (0 2)) (new-akey (0 0)) (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -53,6 +54,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((new-akey new-akey) (a a) (b b) (n n) (s s))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton pfs-easy
@@ -106,6 +108,7 @@
       (send (enc (enc a n s (privk "sgn" b)) new-akey))))
   (label 3)
   (unrealized (0 0))
+  (maps ((0) ((new-akey new-akey) (a a) (b b) (n n) (s s))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -165,6 +168,8 @@
   (label 5)
   (unrealized (2 0))
   (preskeleton)
+  (maps
+    ((0 1 2) ((s s) (n n) (a a) (b b) (new-akey new-akey) (s-0 s-0))))
   (origs ((privk "sgn" a) (1 2)) (s (0 1)))
   (comment "Not a skeleton"))
 
@@ -186,6 +191,8 @@
   (parent 5)
   (unrealized (2 0))
   (dead)
+  (maps
+    ((0 1 2) ((s s) (n n) (a a) (b b) (new-akey new-akey) (s-0 s-0))))
   (origs ((privk "sgn" a) (1 2)) (s (0 1)))
   (comment "empty cohort"))
 
diff --git a/tst/pkinit.tst b/tst/pkinit.tst
--- a/tst/pkinit.tst
+++ b/tst/pkinit.tst
@@ -1,6 +1,6 @@
 (herald "Kerberos PK init")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/pkinit.scm")
 
 (defprotocol pkinit basic
@@ -38,6 +38,10 @@
           (enc ak n1 tk t k)))))
   (label 0)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((c c) (as as) (t t) (n2 n2) (n1 n1) (tc tc) (tk tk) (tgt tgt)
+        (k k) (ak ak))))
   (origs (n2 (0 0)) (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/preprocess.tst b/tst/preprocess.tst
--- a/tst/preprocess.tst
+++ b/tst/preprocess.tst
@@ -1,6 +1,6 @@
 (herald "Pre-processing test example: modified NS with two responders")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/preprocess.scm")
 
 (defprotocol ns basic
@@ -40,6 +40,8 @@
   (label 0)
   (unrealized (0 1) (1 0) (1 2) (2 0) (2 2))
   (preskeleton)
+  (maps
+    ((0 1 2) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3) (n2p n2p) (n3p n3p))))
   (origs (n3 (2 1)) (n2p (2 1)) (n3p (1 1)) (n2 (1 1)) (n1 (0 0)))
   (comment "Not a skeleton"))
 
@@ -62,6 +64,8 @@
   (parent 0)
   (unrealized (0 1) (1 2) (2 2))
   (dead)
+  (maps
+    ((0 1 2) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3) (n2p n2p) (n3p n3p))))
   (origs (n3 (2 1)) (n2p (2 1)) (n3p (1 1)) (n2 (1 1)) (n1 (0 0)))
   (comment "empty cohort"))
 
@@ -82,6 +86,8 @@
   (label 2)
   (parent 1)
   (unrealized (1 2))
+  (maps
+    ((0 1 1) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3p) (n2p n2) (n3p n3p))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
diff --git a/tst/print.tst b/tst/print.tst
--- a/tst/print.tst
+++ b/tst/print.tst
@@ -1,7 +1,7 @@
 (herald "Print Test"
   (comment "See if read forms look like printed ones"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/print.scm")
 
 (defprotocol print-test basic
diff --git a/tst/prottrans.tst b/tst/prottrans.tst
--- a/tst/prottrans.tst
+++ b/tst/prottrans.tst
@@ -1,6 +1,6 @@
 (herald "Protocol Transformations With Rules")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/prottrans.scm")
 
 (defprotocol ns basic
@@ -27,6 +27,7 @@
   (traces ((send (enc na a b)) (recv (enc na nb a)) (send (enc nb b))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (na na) (nb nb))))
   (origs (na (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -37,6 +38,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk a) (invk b))
   (uniq-orig na)
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand resp 2) na (0 1) (enc na a b))
   (strand-map 0)
   (traces ((send (enc na a b)) (recv (enc na nb a)) (send (enc nb b)))
@@ -44,6 +46,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (na na) (nb nb))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton ns
@@ -53,6 +56,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk a) (invk b))
   (uniq-orig na)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (nb-0 nb)) na (0 1) (enc na nb a)
     (enc na a b))
   (strand-map 0 1)
@@ -91,6 +95,7 @@
   (traces ((recv (enc na a b)) (send (enc na nb a)) (recv (enc nb b))))
   (label 3)
   (unrealized (0 2))
+  (maps ((0) ((a a) (nb nb) (b b) (na na))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -101,6 +106,7 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (invk a))
   (uniq-orig nb)
+  (comment "Responder point-of-view")
   (operation nonce-test (added-strand init 3) nb (0 2) (enc na nb a))
   (strand-map 0)
   (traces ((recv (enc na a b)) (send (enc na nb a)) (recv (enc nb b)))
@@ -146,6 +152,7 @@
   (traces ((send (enc n k)) (recv n)))
   (label 5)
   (unrealized (0 1))
+  (maps ((0) ((k k) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -156,6 +163,16 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk k))
   (uniq-orig n)
+  (comment "The shape analysis sentence for this problem:"
+    (defgoal unilateral
+      (forall ((n text) (k akey) (z strd))
+        (implies
+          (and (p "init" z 2) (p "init" "n" z n) (p "init" "k" z k)
+            (non (invk k)) (uniq-at n z 0))
+          (exists ((z-0 strd))
+            (and (p "resp" z-0 2) (p "resp" "n" z-0 n)
+              (p "resp" "k" z-0 k) (prec z 0 z-0 0)
+              (prec z-0 1 z 1)))))))
   (operation nonce-test (added-strand resp 2) n (0 1) (enc n k))
   (strand-map 0)
   (traces ((send (enc n k)) (recv n)) ((recv (enc n k)) (send n)))
@@ -178,12 +195,12 @@
   (defrule unilateral
     (forall ((r strd) (a akey) (nb text))
       (implies
-        (and (p "resp" r (idx 3)) (p "resp" "a" r a)
-          (p "resp" "nb" r nb) (non (invk a)) (uniq nb))
+        (and (p "resp" r (idx 3)) (p "resp" "nb" r nb)
+          (p "resp" "a" r a) (non (invk a)) (uniq nb))
         (exists ((i strd))
-          (and (p "init" i (idx 3)) (p "init" "a" i a)
-            (p "init" "nb" i nb) (prec r (idx 1) i (idx 1))
-            (prec i (idx 2) r (idx 2))))))
+          (and (p "init" i (idx 3)) (p "init" "nb" i nb)
+            (p "init" "a" i a) (prec i (idx 2) r (idx 2))
+            (prec r (idx 1) i (idx 1))))))
     (comment "Unilateral sas under the predicate mapping:")
     (comment (p "init" 2) "->" (p "resp" 3) "and")
     (comment (p "init" "n") "->" (p "resp" "nb") "and")
@@ -208,6 +225,7 @@
   (traces ((recv (enc na a b)) (send (enc na nb a)) (recv (enc nb b))))
   (label 7)
   (unrealized (0 2))
+  (maps ((0) ((a a) (nb nb) (b b) (na na))))
   (origs (nb (0 1)))
   (comment "Not closed under rules"))
 
@@ -218,6 +236,7 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (invk a))
   (uniq-orig nb)
+  (comment "Responder point-of-view")
   (rule unilateral)
   (traces ((recv (enc na a b)) (send (enc na nb a)) (recv (enc nb b)))
     ((send (enc na-0 a b-0)) (recv (enc na-0 nb a))
@@ -225,6 +244,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 1))
+  (maps ((0) ((a a) (nb nb) (b b) (na na))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton ns-with-rule
@@ -234,6 +254,7 @@
   (precedes ((0 1) (1 1)) ((1 2) (0 2)))
   (non-orig (invk a))
   (uniq-orig nb)
+  (comment "Responder point-of-view")
   (operation nonce-test (contracted (na-0 na)) nb (1 1) (enc na nb a))
   (strand-map 0 1)
   (traces ((recv (enc na a b)) (send (enc na nb a)) (recv (enc nb b)))
@@ -253,6 +274,7 @@
   (precedes ((0 1) (2 1)) ((1 2) (0 2)) ((2 2) (1 1)))
   (non-orig (invk a))
   (uniq-orig nb)
+  (comment "Responder point-of-view")
   (operation nonce-test (added-strand init 3) nb (1 1) (enc na nb a))
   (strand-map 0 1)
   (traces ((recv (enc na a b)) (send (enc na nb a)) (recv (enc nb b)))
@@ -264,6 +286,7 @@
   (seen-ops
     (9 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (nb nb) (b b) (na na))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/pruning1.tst b/tst/pruning1.tst
--- a/tst/pruning1.tst
+++ b/tst/pruning1.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/pruning1.scm")
 
 (defprotocol prune basic
@@ -30,6 +30,7 @@
       (recv (enc n (privk b) (pubk a)))))
   (label 0)
   (unrealized (0 1) (0 2))
+  (maps ((0) ((a a) (b b) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -49,6 +50,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (0 2))
+  (maps ((0) ((a a) (b b) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton prune
@@ -69,6 +71,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton prune
@@ -91,6 +94,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton prune
diff --git a/tst/puzzle_example.tst b/tst/puzzle_example.tst
--- a/tst/puzzle_example.tst
+++ b/tst/puzzle_example.tst
@@ -1,6 +1,6 @@
 (herald puzzle_example)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/puzzle_example.scm")
 
 (defprotocol puzzle basic
@@ -28,6 +28,7 @@
     ((send na) (recv (enc na s (ltk a b))) (send (enc payload s))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (na na) (payload payload) (s s))))
   (origs (na (0 0)) (payload (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -79,6 +80,7 @@
   (label 2)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (na na) (payload payload) (s s))))
   (origs (na (0 0)) (payload (0 2)))
   (comment "Not a skeleton"))
 
@@ -94,6 +96,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (na na) (payload payload) (s s))))
   (origs (na (0 0)) (payload (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -149,6 +152,7 @@
   (label 5)
   (unrealized (2 0))
   (preskeleton)
+  (maps ((0 1 2) ((na na) (payload payload) (a a) (b b) (s s))))
   (origs (s (1 1)) (na (0 0)) (payload (0 2)))
   (comment "Not a skeleton"))
 
@@ -166,6 +170,7 @@
   (parent 5)
   (unrealized (2 0))
   (dead)
+  (maps ((0 1 2) ((na na) (payload payload) (a a) (b b) (s s))))
   (origs (s (1 1)) (na (0 0)) (payload (0 2)))
   (comment "empty cohort"))
 
@@ -201,6 +206,7 @@
   (label 7)
   (unrealized (2 0))
   (preskeleton)
+  (maps ((0 1 2) ((na na) (payload payload) (a a) (b b) (s s))))
   (origs (s (1 1)) (na (0 0)) (payload (0 2)))
   (comment "Not a skeleton"))
 
@@ -218,6 +224,7 @@
   (label 8)
   (parent 7)
   (unrealized (2 0))
+  (maps ((0 1 2) ((na na) (payload payload) (a a) (b b) (s s))))
   (origs (s (1 1)) (na (0 0)) (payload (0 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -241,6 +248,7 @@
   (parent 8)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1 2) ((na na) (payload payload) (a a) (b b) (s s))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -270,6 +278,7 @@
     ((recv na) (send (enc na s (ltk a b))) (recv (enc payload s))))
   (label 10)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (payload payload) (s s) (na na))))
   (origs (s (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -289,6 +298,7 @@
   (label 11)
   (parent 10)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (payload payload) (s s) (na na))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton puzzle
@@ -306,6 +316,7 @@
   (parent 10)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (payload payload) (s s) (na na))))
   (comment "empty cohort"))
 
 (defskeleton puzzle
@@ -356,6 +367,7 @@
   (label 14)
   (unrealized (0 2) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (payload payload) (s s) (na na))))
   (origs (s (0 1)))
   (comment "Not a skeleton"))
 
@@ -372,6 +384,7 @@
   (parent 14)
   (unrealized (0 2) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (payload payload) (s s) (na na))))
   (origs (s (0 1)))
   (comment "empty cohort"))
 
@@ -407,6 +420,7 @@
   (label 16)
   (unrealized (2 0))
   (preskeleton)
+  (maps ((0 1 2) ((payload payload) (na na) (a a) (b b) (s s))))
   (origs (s (0 1)) (payload (1 2)))
   (comment "Not a skeleton"))
 
@@ -424,6 +438,7 @@
   (label 17)
   (parent 16)
   (unrealized (2 0))
+  (maps ((0 1 2) ((payload payload) (na na) (a a) (b b) (s s))))
   (origs (s (0 1)) (payload (1 2)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -447,6 +462,7 @@
   (parent 17)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1 2) ((payload payload) (na na) (a a) (b b) (s s))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/reflect.tst b/tst/reflect.tst
--- a/tst/reflect.tst
+++ b/tst/reflect.tst
@@ -1,6 +1,6 @@
 (herald reflect)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/reflect.scm")
 
 (defprotocol reflect basic
@@ -24,6 +24,7 @@
   (traces ((recv (enc b (invk a)))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -58,6 +59,7 @@
   (label 2)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton reflect
@@ -96,6 +98,7 @@
   (label 4)
   (parent 2)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton reflect
@@ -116,6 +119,7 @@
   (label 5)
   (parent 4)
   (realized)
+  (maps ((0) ((a a) (b b))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton reflect
@@ -141,6 +145,7 @@
       (operation encryption-test (added-strand resp 2) (enc a (invk b))
         (3 0)) (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((a a) (b b))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton reflect
@@ -161,6 +166,7 @@
   (seen-ops
     (1 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (b b))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -186,6 +192,7 @@
   (traces ((send (enc b (invk a))) (recv (enc a (invk b)))))
   (label 8)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b))))
   (origs)
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -236,6 +243,7 @@
   (label 11)
   (parent 8)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton reflect
@@ -292,6 +300,7 @@
   (label 14)
   (parent 11)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton reflect
@@ -310,6 +319,7 @@
   (seen 9)
   (seen-ops (9 (operation generalization deleted (1 0)) (strand-map 0)))
   (realized)
+  (maps ((0) ((a b) (b b))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton reflect
@@ -330,6 +340,7 @@
   (label 16)
   (parent 14)
   (realized)
+  (maps ((0) ((a a) (b b))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton reflect
@@ -355,6 +366,7 @@
       (operation encryption-test (added-strand resp 2) (enc b (invk a))
         (3 0)) (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((a a) (b b))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton reflect
@@ -375,6 +387,7 @@
   (seen-ops
     (10 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (b b))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -400,6 +413,7 @@
   (traces ((recv (enc (invk b) (invk a)))))
   (label 19)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -435,6 +449,7 @@
   (label 21)
   (parent 19)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton reflect
@@ -473,6 +488,7 @@
   (label 23)
   (parent 21)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b (invk b)))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton reflect
@@ -493,6 +509,7 @@
   (label 24)
   (parent 23)
   (realized)
+  (maps ((0) ((a a) (b (invk b)))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton reflect
@@ -518,6 +535,7 @@
       (operation encryption-test (added-strand resp 2) (enc a (invk b))
         (3 0)) (strand-map 0 1 2 1)))
   (unrealized (3 0))
+  (maps ((0) ((a a) (b (invk b)))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton reflect
@@ -538,6 +556,7 @@
   (seen-ops
     (20 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (b (invk b)))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/renamings.tst b/tst/renamings.tst
--- a/tst/renamings.tst
+++ b/tst/renamings.tst
@@ -2,7 +2,7 @@
   (comment "There is a flaw in this protocol by design")
   (comment "It also shows how variable renaming works"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/renamings.scm")
 
 (defprotocol blanchet basic
@@ -29,6 +29,7 @@
   (traces ((recv (enc (enc a (privk s)) (pubk d))) (send (enc b a))))
   (label 0)
   (unrealized (0 0))
+  (maps ((0) ((s s) (d d) (a a) (b b))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -39,6 +40,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (privk s) (privk d))
   (uniq-orig a)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc a (privk s))
     (0 0))
   (strand-map 0)
@@ -77,6 +79,7 @@
   (traces ((send (enc (enc a (privk s)) (pubk d))) (recv (enc b a))))
   (label 2)
   (unrealized (0 1))
+  (maps ((0) ((s s) (d d) (a a) (b b))))
   (origs (a (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -87,6 +90,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk d))
   (uniq-orig a)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc b a) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc a (privk s)) (pubk d))) (recv (enc b a)))
@@ -94,6 +98,7 @@
   (label 3)
   (parent 2)
   (unrealized (1 0))
+  (maps ((0) ((s s) (d d) (a a) (b b))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -103,6 +108,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk d))
   (uniq-orig a)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener a) (enc b a) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc a (privk s)) (pubk d))) (recv (enc b a)))
@@ -111,6 +117,7 @@
   (parent 2)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((s s) (d d) (a a) (b b))))
   (comment "empty cohort"))
 
 (defskeleton blanchet
@@ -120,6 +127,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk d))
   (uniq-orig a)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (d-0 s) (a-0 d)) a (1 0)
     (enc (enc a (privk s)) (pubk d)))
   (strand-map 0 1)
diff --git a/tst/role_uniq.tst b/tst/role_uniq.tst
--- a/tst/role_uniq.tst
+++ b/tst/role_uniq.tst
@@ -1,6 +1,6 @@
 (herald "Role Unique Origination")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/role_uniq.scm")
 
 (defprotocol blanchet basic
@@ -28,6 +28,7 @@
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -38,6 +39,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -45,6 +47,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -54,6 +57,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -62,6 +66,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet
@@ -71,6 +76,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1)
@@ -109,6 +115,7 @@
   (traces ((recv (enc (enc s (invk a)) b)) (send (enc d s))))
   (label 4)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -119,6 +126,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (operation encryption-test (added-strand init 1) (enc s (invk a))
     (0 0))
   (strand-map 0)
@@ -158,6 +166,7 @@
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s))))
   (label 6)
   (realized)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -166,11 +175,13 @@
   (defstrand init 2 (d d) (s s) (a a) (b b))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (rule role-uniq)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s))))
   (label 7)
   (parent 6)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs (s (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -181,6 +192,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-strand resp 2) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -188,6 +200,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton blanchet
@@ -197,6 +210,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation encryption-test (added-listener s) (enc d s) (0 1))
   (strand-map 0)
   (traces ((send (enc (enc s (invk a)) b)) (recv (enc d s)))
@@ -205,6 +219,7 @@
   (parent 7)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (comment "empty cohort"))
 
 (defskeleton blanchet
@@ -214,6 +229,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk b))
   (uniq-orig s)
+  (comment "Analyze from the initiator's perspective")
   (operation nonce-test (contracted (a-0 a) (b-0 b)) s (1 0)
     (enc (enc s (invk a)) b))
   (strand-map 0 1)
@@ -253,6 +269,7 @@
   (traces ((recv (enc (enc s (invk a)) b)) (send (enc d s))))
   (label 11)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (d d))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -263,6 +280,7 @@
   (precedes ((1 0) (0 0)))
   (non-orig (invk a) (invk b))
   (uniq-orig s)
+  (comment "Analyze from the responder's perspective")
   (rule role-uniq)
   (operation encryption-test (added-strand init 1) (enc s (invk a))
     (0 0))
diff --git a/tst/rule-node.tst b/tst/rule-node.tst
--- a/tst/rule-node.tst
+++ b/tst/rule-node.tst
@@ -1,6 +1,6 @@
 (herald rule-node)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/rule-node.scm")
 
 (defprotocol rule-order basic
@@ -11,7 +11,7 @@
     (forall ((z1 z2 strd) (i1 i2 indx))
       (implies
         (fact le z1 i1 z2 i2)
-        (or (and (= z1 z2) (= i1 i2)) (fact lt z1 i1 z2 i2)))))
+        (or (and (= i1 i2) (= z1 z2)) (fact lt z1 i1 z2 i2)))))
   (defrule lt-le
     (forall ((z1 z2 strd) (i1 i2 indx))
       (implies (fact lt z1 i1 z2 i2) (fact le z1 i1 z2 i2))))
@@ -37,6 +37,7 @@
     ((send (cat t s)) (recv (cat s t))))
   (label 0)
   (realized)
+  (maps ((0 1) ((s s) (t t))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -68,7 +69,7 @@
     (forall ((z1 z2 strd) (i1 i2 indx))
       (implies
         (fact le z1 i1 z2 i2)
-        (or (and (= z1 z2) (= i1 i2)) (fact lt z1 i1 z2 i2)))))
+        (or (and (= i1 i2) (= z1 z2)) (fact lt z1 i1 z2 i2)))))
   (defrule lt-le
     (forall ((z1 z2 strd) (i1 i2 indx))
       (implies (fact lt z1 i1 z2 i2) (fact le z1 i1 z2 i2))))
@@ -94,6 +95,7 @@
     ((send (cat t s)) (recv (cat s t))))
   (label 2)
   (realized)
+  (maps ((0 1) ((s s) (t t))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -126,7 +128,7 @@
   (parent 3)
   (realized)
   (shape)
-  (maps)
+  (maps ((0 0) ((s s) (t s))))
   (origs))
 
 (comment "Nothing left to do")
@@ -151,6 +153,7 @@
   (traces ((send (cat s t)) (recv (cat t s))))
   (label 5)
   (realized)
+  (maps ((0) ((s s) (t t))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -192,6 +195,7 @@
     ((send (cat t s)) (recv (cat s t))))
   (label 7)
   (realized)
+  (maps ((0 1) ((s s) (t t))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -223,7 +227,7 @@
   (parent 8)
   (realized)
   (shape)
-  (maps)
+  (maps ((0 0) ((s s) (t s))))
   (origs))
 
 (comment "Nothing left to do")
@@ -251,6 +255,7 @@
     ((send (cat s t)) (recv (cat t s))))
   (label 10)
   (realized)
+  (maps ((0 1) ((s s) (t t))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -282,7 +287,7 @@
   (parent 11)
   (realized)
   (shape)
-  (maps)
+  (maps ((0 0) ((s s) (t t))))
   (origs))
 
 (comment "Nothing left to do")
diff --git a/tst/rule-order.tst b/tst/rule-order.tst
--- a/tst/rule-order.tst
+++ b/tst/rule-order.tst
@@ -1,6 +1,6 @@
 (herald rule-order)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/rule-order.scm")
 
 (defprotocol rule-order basic
@@ -22,6 +22,7 @@
   (traces ((send (cat s t))))
   (label 0)
   (realized)
+  (maps ((0) ((s s) (t t))))
   (origs)
   (comment "Not closed under rules"))
 
diff --git a/tst/sigenc.tst b/tst/sigenc.tst
--- a/tst/sigenc.tst
+++ b/tst/sigenc.tst
@@ -1,7 +1,7 @@
 (herald "Signed Encrypted Message Example"
   (comment "Shows examples of key usage of asymmetric keys"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/sigenc.scm")
 
 (defprotocol mult-keys-sig-enc basic
@@ -33,6 +33,7 @@
       (send (enc (enc n2 (privk "sig" a)) (pubk "enc" b)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -55,6 +56,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -112,6 +114,7 @@
       (recv (enc (enc n2 (privk "sig" a)) (pubk "enc" b)))))
   (label 3)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -133,6 +136,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -216,6 +220,7 @@
       (recv (enc (enc n2 (privk "sig" a)) (pubk "enc" b)))))
   (label 7)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -274,6 +279,7 @@
       (recv (enc (enc n2 (privk "sig" a)) (pubk "enc" b)))))
   (label 9)
   (unrealized (0 0) (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (origs (n2 (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -295,6 +301,7 @@
   (label 10)
   (parent 9)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -317,6 +324,7 @@
   (label 11)
   (parent 10)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -341,6 +349,7 @@
   (label 12)
   (parent 10)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -394,6 +403,7 @@
   (seen-ops
     (15 (operation generalization deleted (1 1)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -449,6 +459,7 @@
   (seen-ops
     (13 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton mult-keys-sig-enc
@@ -480,6 +491,7 @@
   (seen-ops
     (15 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0) ((a a) (b b) (n2 n2) (n1 n1))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/sorted_epmo_acctnum.tst b/tst/sorted_epmo_acctnum.tst
--- a/tst/sorted_epmo_acctnum.tst
+++ b/tst/sorted_epmo_acctnum.tst
@@ -4,7 +4,7 @@
     "This version uses sorts to avoid confusion"
     "between a nonce and other data"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/sorted_epmo_acctnum.scm")
 
 (defprotocol sorted_epmo_acctnum basic
@@ -103,6 +103,10 @@
       (send (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
   (label 0)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (origs (nm (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -132,6 +136,10 @@
   (label 1)
   (parent 0)
   (unrealized (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -166,6 +174,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -201,6 +213,10 @@
   (label 3)
   (parent 2)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -246,6 +262,10 @@
   (label 4)
   (parent 2)
   (unrealized (0 0) (0 2) (1 0) (3 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -279,6 +299,10 @@
   (label 5)
   (parent 3)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -318,6 +342,10 @@
   (label 6)
   (parent 3)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -362,6 +390,10 @@
   (label 7)
   (parent 4)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -446,6 +478,10 @@
   (label 9)
   (parent 6)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -489,6 +525,10 @@
   (label 10)
   (parent 7)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -534,6 +574,10 @@
   (label 11)
   (parent 7)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -592,6 +636,10 @@
       (operation nonce-test (displaced 5 2 customer 3) nm (4 0)
         (enc nc nm m price (pubk c))) (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -640,6 +688,10 @@
   (seen-ops
     (8 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -682,6 +734,10 @@
   (label 14)
   (parent 10)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -728,6 +784,10 @@
   (label 15)
   (parent 10)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -772,6 +832,10 @@
   (label 16)
   (parent 11)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -825,6 +889,10 @@
   (label 17)
   (parent 11)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -878,6 +946,10 @@
   (label 18)
   (parent 11)
   (unrealized (0 0) (0 2) (1 0) (3 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -929,6 +1001,10 @@
   (seen-ops
     (8 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -975,6 +1051,10 @@
   (label 20)
   (parent 15)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1017,6 +1097,10 @@
   (label 21)
   (parent 16)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1063,6 +1147,10 @@
   (label 22)
   (parent 16)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1123,6 +1211,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1175,6 +1267,10 @@
   (label 24)
   (parent 18)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1235,6 +1331,10 @@
   (label 25)
   (parent 18)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1290,6 +1390,10 @@
   (seen-ops
     (13 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1341,6 +1445,10 @@
   (seen-ops
     (8 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1387,6 +1495,10 @@
   (label 28)
   (parent 22)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1439,6 +1551,10 @@
   (label 29)
   (parent 24)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1501,6 +1617,10 @@
   (label 30)
   (parent 24)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1560,6 +1680,10 @@
   (label 31)
   (parent 24)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1619,6 +1743,10 @@
   (label 32)
   (parent 25)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1674,6 +1802,10 @@
   (seen-ops
     (13 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1725,6 +1857,10 @@
   (parent 29)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1779,6 +1915,10 @@
   (label 35)
   (parent 29)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1838,6 +1978,10 @@
   (label 36)
   (parent 30)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1900,6 +2044,10 @@
       (operation nonce-test (displaced 5 4 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -1972,6 +2120,10 @@
       (operation nonce-test (displaced 6 3 customer 3) nb-0 (5 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0) (0 2) (1 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2031,6 +2183,10 @@
   (label 39)
   (parent 32)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2099,6 +2255,10 @@
         (enc c nc nb-0 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 2)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2167,6 +2327,10 @@
   (label 41)
   (parent 32)
   (unrealized (0 0) (0 2) (1 0) (4 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2222,6 +2386,10 @@
   (parent 35)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2284,6 +2452,10 @@
   (label 43)
   (parent 36)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2360,6 +2532,10 @@
       (operation nonce-test (displaced 6 3 customer 3) nb-0 (5 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 4)))
   (unrealized (0 0) (0 2) (1 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2428,6 +2604,10 @@
   (label 45)
   (parent 36)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2483,6 +2663,10 @@
   (parent 37)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2543,6 +2727,10 @@
   (label 47)
   (parent 37)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2602,6 +2790,10 @@
   (label 48)
   (parent 39)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2672,6 +2864,10 @@
   (label 49)
   (parent 39)
   (unrealized (0 0) (0 2) (1 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2739,6 +2935,10 @@
   (label 50)
   (parent 39)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2806,6 +3006,10 @@
   (label 51)
   (parent 41)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2865,6 +3069,10 @@
   (parent 43)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -2929,6 +3137,10 @@
   (label 53)
   (parent 43)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3002,6 +3214,10 @@
       (operation nonce-test (displaced 6 5 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3083,6 +3299,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 4)))
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3143,6 +3363,10 @@
   (parent 47)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3201,6 +3425,10 @@
   (parent 48)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3263,6 +3491,10 @@
   (label 58)
   (parent 48)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3330,6 +3562,10 @@
   (label 59)
   (parent 49)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3400,6 +3636,10 @@
       (operation nonce-test (displaced 6 5 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3479,6 +3719,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3548,6 +3792,10 @@
   (label 62)
   (parent 51)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3617,6 +3865,10 @@
   (label 63)
   (parent 51)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3686,6 +3938,10 @@
   (label 64)
   (parent 51)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3767,6 +4023,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3831,6 +4091,10 @@
   (parent 53)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3895,6 +4159,10 @@
   (parent 54)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -3963,6 +4231,10 @@
   (label 68)
   (parent 54)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4026,6 +4298,10 @@
   (parent 58)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4096,6 +4372,10 @@
   (label 70)
   (parent 59)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4179,6 +4459,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4254,6 +4538,10 @@
   (label 72)
   (parent 59)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4317,6 +4605,10 @@
   (parent 60)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4384,6 +4676,10 @@
   (label 74)
   (parent 60)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4452,6 +4748,10 @@
   (label 75)
   (parent 62)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4521,6 +4821,10 @@
   (label 76)
   (parent 62)
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4597,6 +4901,10 @@
   (label 77)
   (parent 62)
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4667,6 +4975,10 @@
   (label 78)
   (parent 63)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4745,6 +5057,10 @@
   (label 79)
   (parent 63)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4820,6 +5136,10 @@
   (label 80)
   (parent 63)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4890,6 +5210,10 @@
   (label 81)
   (parent 64)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -4972,6 +5296,10 @@
       (operation nonce-test (displaced 7 3 customer 3) nb-0 (6 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5041,6 +5369,10 @@
   (parent 68)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5108,6 +5440,10 @@
   (parent 70)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5179,6 +5515,10 @@
   (label 85)
   (parent 70)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5259,6 +5599,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5348,6 +5692,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 5)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5415,6 +5763,10 @@
   (parent 74)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5484,6 +5836,10 @@
   (label 89)
   (parent 75)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5562,6 +5918,10 @@
   (label 90)
   (parent 75)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5637,6 +5997,10 @@
   (label 91)
   (parent 75)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5706,6 +6070,10 @@
   (label 92)
   (parent 76)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5783,6 +6151,10 @@
   (label 93)
   (parent 76)
   (unrealized (0 0) (0 2) (1 0) (4 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5866,6 +6238,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -5933,6 +6309,10 @@
   (parent 78)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6004,6 +6384,10 @@
   (label 96)
   (parent 78)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6078,6 +6462,10 @@
   (label 97)
   (parent 79)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6158,6 +6546,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6247,6 +6639,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6317,6 +6713,10 @@
   (label 100)
   (parent 81)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6395,6 +6795,10 @@
   (label 101)
   (parent 81)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6470,6 +6874,10 @@
   (label 102)
   (parent 81)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6541,6 +6949,10 @@
   (parent 85)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6612,6 +7024,10 @@
   (parent 86)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6688,6 +7104,10 @@
   (label 105)
   (parent 86)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6755,6 +7175,10 @@
   (parent 89)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6825,6 +7249,10 @@
   (label 107)
   (parent 89)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6899,6 +7327,10 @@
   (label 108)
   (parent 90)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -6978,6 +7410,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7066,6 +7502,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7135,6 +7575,10 @@
   (label 111)
   (parent 92)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7213,6 +7657,10 @@
   (label 112)
   (parent 92)
   (unrealized (0 0) (0 2) (1 0) (6 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7288,6 +7736,10 @@
   (label 113)
   (parent 92)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7372,6 +7824,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b-0)))
       (strand-map 0 1 2 3 4 5 5)))
   (unrealized (0 0) (0 2) (1 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7443,6 +7899,10 @@
   (parent 96)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7521,6 +7981,10 @@
   (label 116)
   (parent 97)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7613,6 +8077,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7697,6 +8165,10 @@
   (label 118)
   (parent 97)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7768,6 +8240,10 @@
   (parent 98)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7843,6 +8319,10 @@
   (label 120)
   (parent 98)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7910,6 +8390,10 @@
   (parent 100)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -7981,6 +8465,10 @@
   (label 122)
   (parent 100)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8055,6 +8543,10 @@
   (label 123)
   (parent 101)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8135,6 +8627,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8224,6 +8720,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8301,6 +8801,10 @@
   (parent 105)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8372,6 +8876,10 @@
   (parent 107)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8450,6 +8958,10 @@
   (label 128)
   (parent 108)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8542,6 +9054,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8626,6 +9142,10 @@
   (label 130)
   (parent 108)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8697,6 +9217,10 @@
   (parent 109)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8772,6 +9296,10 @@
   (label 132)
   (parent 109)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8839,6 +9367,10 @@
   (parent 111)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8909,6 +9441,10 @@
   (label 134)
   (parent 111)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -8983,6 +9519,10 @@
   (label 135)
   (parent 112)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9062,6 +9602,10 @@
       (operation nonce-test (displaced 7 6 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9150,6 +9694,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9224,6 +9772,10 @@
   (parent 116)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9302,6 +9854,10 @@
   (label 139)
   (parent 116)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9391,6 +9947,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9488,6 +10048,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9564,6 +10128,10 @@
   (parent 120)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9635,6 +10203,10 @@
   (parent 122)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9713,6 +10285,10 @@
   (label 144)
   (parent 123)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9805,6 +10381,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9889,6 +10469,10 @@
   (label 146)
   (parent 123)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -9960,6 +10544,10 @@
   (parent 124)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10035,6 +10623,10 @@
   (label 148)
   (parent 124)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10109,6 +10701,10 @@
   (parent 128)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10187,6 +10783,10 @@
   (label 150)
   (parent 128)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10276,6 +10876,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10373,6 +10977,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10449,6 +11057,10 @@
   (parent 132)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10520,6 +11132,10 @@
   (parent 134)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10598,6 +11214,10 @@
   (label 155)
   (parent 135)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10690,6 +11310,10 @@
       (operation nonce-test (displaced 8 3 customer 3) nb-0 (7 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 6)))
   (unrealized (0 0) (0 2) (1 0) (7 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10774,6 +11398,10 @@
   (label 157)
   (parent 135)
   (unrealized (0 0) (0 2) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10845,6 +11473,10 @@
   (parent 136)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10920,6 +11552,10 @@
   (label 159)
   (parent 136)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -10999,6 +11635,10 @@
   (parent 139)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11079,6 +11719,10 @@
   (parent 140)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11162,6 +11806,10 @@
   (label 162)
   (parent 140)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11236,6 +11884,10 @@
   (parent 144)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11314,6 +11966,10 @@
   (label 164)
   (parent 144)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11403,6 +12059,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11500,6 +12160,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11576,6 +12240,10 @@
   (parent 148)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11654,6 +12322,10 @@
   (parent 150)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11733,6 +12405,10 @@
   (parent 151)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11816,6 +12492,10 @@
   (label 170)
   (parent 151)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11890,6 +12570,10 @@
   (parent 155)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -11968,6 +12652,10 @@
   (label 172)
   (parent 155)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12057,6 +12745,10 @@
       (operation nonce-test (displaced 8 7 merchant 2) nc (0 0)
         (enc c nc goods-0 (pubk m))) (strand-map 0 1 2 3 4 5 6 7)))
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12154,6 +12846,10 @@
       (operation nonce-test (displaced 9 3 customer 3) nb-0 (8 0)
         (enc nc nb-0 m price (pubk c))) (strand-map 0 1 2 3 4 5 6 7 6)))
   (unrealized (0 0) (0 2) (1 0) (8 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12230,6 +12926,10 @@
   (parent 159)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12314,6 +13014,10 @@
   (parent 162)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12393,6 +13097,10 @@
   (parent 164)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12473,6 +13181,10 @@
   (parent 165)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12556,6 +13268,10 @@
   (label 179)
   (parent 165)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12640,6 +13356,10 @@
   (parent 170)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12718,6 +13438,10 @@
   (parent 172)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12797,6 +13521,10 @@
   (parent 173)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12880,6 +13608,10 @@
   (label 183)
   (parent 173)
   (unrealized (0 0) (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -12964,6 +13696,10 @@
   (parent 179)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13048,6 +13784,10 @@
   (parent 183)
   (unrealized (0 2))
   (dead)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nc nc) (nb nb) (hash hash)
+        (goods goods) (price price))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -13147,6 +13887,10 @@
       (recv (enc (enc "hash" b m nb nm (pubk hash)) (privk m)))))
   (label 186)
   (unrealized (0 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -13179,6 +13923,10 @@
   (label 187)
   (parent 186)
   (unrealized (1 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13209,6 +13957,10 @@
   (label 188)
   (parent 187)
   (unrealized (0 0) (1 2))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13251,6 +14003,10 @@
   (label 189)
   (parent 188)
   (unrealized (0 0) (2 1) (2 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13293,6 +14049,10 @@
   (label 190)
   (parent 189)
   (unrealized (0 0) (1 0) (2 3))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13335,6 +14095,10 @@
   (label 191)
   (parent 190)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13377,6 +14141,10 @@
   (label 192)
   (parent 191)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13424,6 +14192,10 @@
   (label 193)
   (parent 191)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13466,6 +14238,10 @@
   (label 194)
   (parent 192)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13512,6 +14288,10 @@
   (label 195)
   (parent 193)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13607,6 +14387,10 @@
   (label 197)
   (parent 194)
   (unrealized (0 0) (3 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13653,6 +14437,10 @@
   (label 198)
   (parent 195)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13702,6 +14490,10 @@
   (label 199)
   (parent 197)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13751,6 +14543,10 @@
   (seen-ops
     (196 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13806,6 +14602,10 @@
   (label 201)
   (parent 198)
   (unrealized (0 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13859,6 +14659,10 @@
   (seen-ops
     (196 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13909,6 +14713,10 @@
   (label 203)
   (parent 199)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -13973,6 +14781,10 @@
       (operation nonce-test (displaced 5 2 customer 3) nm (4 0)
         (enc nc nm m price (pubk c))) (strand-map 0 1 2 3 3)))
   (unrealized (0 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14027,6 +14839,10 @@
   (label 205)
   (parent 201)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14081,6 +14897,10 @@
   (seen-ops
     (196 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14141,6 +14961,10 @@
   (label 207)
   (parent 203)
   (unrealized (0 0) (4 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14198,6 +15022,10 @@
   (seen-ops
     (202 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14254,6 +15082,10 @@
   (label 209)
   (parent 205)
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14323,6 +15155,10 @@
       (operation nonce-test (displaced 6 2 customer 3) nm (5 0)
         (enc nc nm m price (pubk c))) (strand-map 0 1 2 3 4 4)))
   (unrealized (0 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nm) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14390,6 +15226,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b)))
       (strand-map 0 1 2 3 3)))
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14448,6 +15288,10 @@
   (seen-ops
     (206 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14513,6 +15357,10 @@
   (label 213)
   (parent 209)
   (unrealized (0 0) (5 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton sorted_epmo_acctnum
@@ -14585,6 +15433,10 @@
         (enc c nc nb-1 acctnum-0 price (pubk b)))
       (strand-map 0 1 2 3 4 4)))
   (unrealized (0 0))
+  (maps
+    ((0)
+      ((b b) (m m) (c c) (nm nb-0) (nb nb) (nc nc) (hash hash)
+        (acctnum acctnum) (price price))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/sts.tst b/tst/sts.tst
--- a/tst/sts.tst
+++ b/tst/sts.tst
@@ -1,7 +1,7 @@
 (herald "Station-to-station protocol" (bound 20)
   (algebra diffie-hellman))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/sts.scm")
 (comment "Strand count bounded at 20")
 
@@ -52,6 +52,7 @@
           (exp (gen) (mul x eta))))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (x x) (eta eta))))
   (origs)
   (ugens (x (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -86,6 +87,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (x x-0) (eta x))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton station-to-station
@@ -154,6 +156,7 @@
   (label 3)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (x x-0) (eta x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -192,6 +195,7 @@
   (parent 3)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (x x-0) (eta x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -230,6 +234,7 @@
   (parent 3)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (x x-0) (eta x))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -282,6 +287,7 @@
           (exp (gen) (mul y chi))))))
   (label 6)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (y y) (chi chi))))
   (origs)
   (ugens (y (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -317,6 +323,7 @@
   (label 7)
   (parent 6)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -390,6 +397,7 @@
   (label 9)
   (parent 7)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -429,6 +437,7 @@
   (parent 9)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -468,6 +477,7 @@
   (parent 9)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -522,6 +532,7 @@
   (label 12)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (x x) (eta eta))))
   (origs)
   (ugens (x (0 0)))
   (comment "Not a skeleton"))
@@ -546,6 +557,7 @@
   (label 13)
   (parent 12)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (x x) (eta eta))))
   (origs)
   (ugens (x (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -582,6 +594,7 @@
   (label 14)
   (parent 13)
   (unrealized (1 0) (2 1))
+  (maps ((0 1) ((a a) (b b) (x x-0) (eta x))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton station-to-station
@@ -614,6 +627,7 @@
   (label 15)
   (parent 13)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -652,6 +666,7 @@
   (label 16)
   (parent 14)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((a a) (b b) (x x-0) (eta x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -687,6 +702,7 @@
   (parent 15)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -722,6 +738,7 @@
   (parent 15)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -762,6 +779,7 @@
   (parent 16)
   (unrealized (1 0) (4 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x-0) (eta x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -802,6 +820,7 @@
   (parent 16)
   (unrealized (1 0) (4 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x-0) (eta x))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -857,6 +876,7 @@
   (label 21)
   (unrealized (0 2) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (y y) (chi chi))))
   (origs)
   (ugens (y (0 1)))
   (comment "Not a skeleton"))
@@ -882,6 +902,7 @@
   (label 22)
   (parent 21)
   (unrealized (0 2))
+  (maps ((0 1) ((a a) (b b) (y y) (chi chi))))
   (origs)
   (ugens (y (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -919,6 +940,7 @@
   (label 23)
   (parent 22)
   (unrealized (1 0) (2 1))
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -955,6 +977,7 @@
   (label 24)
   (parent 23)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -994,6 +1017,7 @@
   (label 25)
   (parent 23)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -1033,6 +1057,7 @@
   (parent 24)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -1072,6 +1097,7 @@
   (parent 24)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -1113,6 +1139,7 @@
   (parent 25)
   (unrealized (1 0) (4 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -1154,6 +1181,7 @@
   (parent 25)
   (unrealized (1 0) (4 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1216,6 +1244,7 @@
           (exp (gen) (mul x y)))) (send (privk b))))
   (label 30)
   (unrealized (1 2))
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (origs ((privk b) (1 3)) ((privk a) (0 3)))
   (ugens (y (1 1)) (x (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -1291,6 +1320,7 @@
   (label 32)
   (parent 30)
   (unrealized (2 0))
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station
@@ -1330,6 +1360,7 @@
   (parent 32)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -1369,6 +1400,7 @@
   (parent 32)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1434,6 +1466,7 @@
   (label 35)
   (unrealized (1 2) (2 0))
   (preskeleton)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (origs ((privk b) (1 3)) ((privk a) (0 3)))
   (ugens (y (1 1)) (x (0 0)))
   (comment "Not a skeleton"))
@@ -1468,6 +1501,7 @@
   (label 36)
   (parent 35)
   (unrealized (1 2) (2 0))
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (origs ((privk b) (1 3)) ((privk a) (0 3)))
   (ugens (y (1 1)) (x (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -1508,6 +1542,7 @@
   (parent 36)
   (unrealized (1 2) (3 0))
   (dead)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station
@@ -1546,6 +1581,7 @@
   (parent 36)
   (unrealized (1 2) (3 0))
   (dead)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/sts_non_role.tst b/tst/sts_non_role.tst
new file mode 100644
--- /dev/null
+++ b/tst/sts_non_role.tst
@@ -0,0 +1,1492 @@
+(herald "Station-to-station protocol:  Weakened version" (bound 20)
+  (algebra diffie-hellman))
+
+(comment "CPSA 4.4.7")
+(comment "All input read from tst/sts_non_role.scm")
+(comment "Strand count bounded at 20")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b name) (x y rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 0)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs)
+  (ugens (x (0 0)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (precedes ((0 0) (1 1)) ((1 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (strand-map 0)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0))))))
+  (label 1)
+  (parent 0)
+  (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (x x-0) (y x))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (defstrand resp 2 (b b) (y y) (chi x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (added-strand resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (strand-map 0)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))))
+  (label 2)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs)
+  (ugens (x (0 0)) (y (1 1))))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
+    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x x-0))) (1 1))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
+  (label 3)
+  (parent 1)
+  (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (x x-0) (y x))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x) x-0))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation nonce-test (added-listener (cat (exp (gen) x) x-0))
+    (exp (gen) (mul x x-0)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))))
+  (label 4)
+  (parent 3)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0) ((a a) (b b) (x x-0) (y x))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-0) x))
+  (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation nonce-test (added-listener (cat (exp (gen) x-0) x))
+    (exp (gen) (mul x x-0)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
+  (label 5)
+  (parent 3)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0) ((a a) (b b) (x x-0) (y x))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 6)
+  (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs)
+  (ugens (y (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (defstrand init 3 (a a) (b b-0) (x x) (eta y))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
+  (strand-map 0)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 7)
+  (parent 6)
+  (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (displaced 2 0 resp 2)
+    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul y x))) (1 1))
+  (strand-map 0 1)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x))))))
+  (label 8)
+  (parent 7)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (origs)
+  (ugens (x (1 0)) (y (0 1))))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (defstrand init 3 (a a) (b b-0) (x x) (eta y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x y))) (1 1))
+  (strand-map 0 1)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 9)
+  (parent 7)
+  (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (defstrand init 3 (a a) (b b-0) (x x) (eta y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (added-listener (cat (exp (gen) x) y))
+    (exp (gen) (mul x y)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 10)
+  (parent 9)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (defstrand init 3 (a a) (b b-0) (x x) (eta y))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))
+    ((3 1) (2 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (added-listener (cat (exp (gen) y) x))
+    (exp (gen) (mul x y)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 11)
+  (parent 9)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0) ((a a) (b b) (x x) (y y))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b name) (x y rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (deflistener (exp (gen) (mul x y)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 12)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (maps ((0 1) ((a a) (b b) (x x) (y y))))
+  (origs)
+  (ugens (x (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton station-weak
+  (vars (a b name) (x y rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 13)
+  (parent 12)
+  (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (x x) (y y))))
+  (origs)
+  (ugens (x (0 0)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 1)) ((2 0) (1 0)) ((2 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0))))))
+  (label 14)
+  (parent 13)
+  (unrealized (1 0) (2 1))
+  (maps ((0 1) ((a a) (b b) (x x-0) (y x))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (deflistener (exp (gen) (mul y x)))
+  (defstrand resp 2 (b b) (y y) (chi x))
+  (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation encryption-test (added-strand resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))))
+  (label 15)
+  (parent 13)
+  (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (x x) (y y))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (precedes ((0 0) (1 0)) ((0 0) (3 0)) ((2 0) (1 0)) ((2 0) (3 0))
+    ((2 2) (0 1)) ((3 1) (2 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation encryption-test (added-listener (exp (gen) (mul x x-0)))
+    (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+      (exp (gen) (mul x x-0))) (2 1))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))))
+  (label 16)
+  (parent 14)
+  (unrealized (1 0) (3 0))
+  (maps ((0 1) ((a a) (b b) (x x-0) (y x))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (deflistener (exp (gen) (mul y x)))
+  (defstrand resp 2 (b b) (y y) (chi x))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (3 0)) ((3 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation nonce-test (added-listener (cat (exp (gen) y) x))
+    (exp (gen) (mul y x)) (1 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x))))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 17)
+  (parent 15)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (deflistener (exp (gen) (mul y x)))
+  (defstrand resp 2 (b b) (y y) (chi x))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (3 0)) ((3 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y x)
+  (operation nonce-test (added-listener (cat (exp (gen) x) y))
+    (exp (gen) (mul y x)) (1 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x))))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 18)
+  (parent 15)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x) x-0))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((2 0) (1 0)) ((2 0) (4 0))
+    ((2 2) (0 1)) ((3 1) (2 1)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation nonce-test (added-listener (cat (exp (gen) x) x-0))
+    (exp (gen) (mul x x-0)) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))))
+  (label 19)
+  (parent 16)
+  (unrealized (1 0) (4 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (x x-0) (y x))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (deflistener (exp (gen) (mul x x-0)))
+  (deflistener (cat (exp (gen) x-0) x))
+  (precedes ((0 0) (1 0)) ((0 0) (4 0)) ((2 0) (1 0)) ((2 0) (4 0))
+    ((2 2) (0 1)) ((3 1) (2 1)) ((4 1) (3 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x x-0)
+  (operation nonce-test (added-listener (cat (exp (gen) x-0) x))
+    (exp (gen) (mul x x-0)) (3 0))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))))
+  (label 20)
+  (parent 16)
+  (unrealized (1 0) (4 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (x x-0) (y x))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b name) (x rndx) (eta expt))
+  (defstrand init 3 (a a) (b b) (x x) (eta eta))
+  (deflistener (exp (gen) (mul x eta)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))))
+    ((recv (exp (gen) (mul x eta))) (send (exp (gen) (mul x eta)))))
+  (label 21)
+  (unrealized (0 1) (1 0))
+  (preskeleton)
+  (maps ((0 1) ((a a) (b b) (x x) (eta eta))))
+  (origs)
+  (ugens (x (0 0)))
+  (comment "Not a skeleton"))
+
+(defskeleton station-weak
+  (vars (a b name) (x rndx) (eta expt))
+  (defstrand init 3 (a a) (b b) (x x) (eta eta))
+  (deflistener (exp (gen) (mul x eta)))
+  (precedes ((0 0) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))))
+    ((recv (exp (gen) (mul x eta))) (send (exp (gen) (mul x eta)))))
+  (label 22)
+  (parent 21)
+  (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (x x) (eta eta))))
+  (origs)
+  (ugens (x (0 0)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x x-0 rndx))
+  (defstrand init 3 (a a) (b b) (x x-0) (eta x))
+  (deflistener (exp (gen) (mul x x-0)))
+  (defstrand init 3 (a b) (b b-0) (x x) (eta x-0))
+  (precedes ((0 0) (1 0)) ((0 0) (2 1)) ((2 2) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x-0)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (0 1))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x-0))
+      (recv
+        (cat (exp (gen) x)
+          (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a))
+          (exp (gen) (mul x x-0)))))
+    ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) x-0)
+          (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x x-0)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b))
+          (exp (gen) (mul x x-0))))))
+  (label 23)
+  (parent 22)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (x x-0) (eta x))))
+  (origs)
+  (ugens (x-0 (0 0))))
+
+(defskeleton station-weak
+  (vars (a b name) (y x rndx))
+  (defstrand init 3 (a a) (b b) (x x) (eta y))
+  (deflistener (exp (gen) (mul y x)))
+  (defstrand resp 2 (b b) (y y) (chi x))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen x)
+  (operation encryption-test (added-strand resp 2)
+    (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul y x)))))
+    ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul y x)))))))
+  (label 24)
+  (parent 22)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
+  (origs)
+  (ugens (x (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b name) (y rndx) (chi expt))
+  (defstrand resp 3 (a a) (b b) (y y) (chi chi))
+  (deflistener (exp (gen) (mul y chi)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (traces
+    ((recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))))
+    ((recv (exp (gen) (mul y chi))) (send (exp (gen) (mul y chi)))))
+  (label 25)
+  (unrealized (0 2) (1 0))
+  (preskeleton)
+  (maps ((0 1) ((a a) (b b) (y y) (chi chi))))
+  (origs)
+  (ugens (y (0 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton station-weak
+  (vars (a b name) (y rndx) (chi expt))
+  (defstrand resp 3 (a a) (b b) (y y) (chi chi))
+  (deflistener (exp (gen) (mul y chi)))
+  (precedes ((0 1) (1 0)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (traces
+    ((recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))))
+    ((recv (exp (gen) (mul y chi))) (send (exp (gen) (mul y chi)))))
+  (label 26)
+  (parent 25)
+  (unrealized (0 2))
+  (maps ((0 1) ((a a) (b b) (y y) (chi chi))))
+  (origs)
+  (ugens (y (0 1)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b b-0 name) (x y rndx))
+  (defstrand resp 3 (a a) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (defstrand init 3 (a a) (b b-0) (x x) (eta y))
+  (precedes ((0 1) (1 0)) ((0 1) (2 1)) ((2 2) (0 2)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y)
+  (operation encryption-test (added-strand init 3)
+    (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2))
+  (strand-map 0 1)
+  (traces
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y))))))
+  (label 27)
+  (parent 26)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
+  (origs)
+  (ugens (y (0 1))))
+
+(defskeleton station-weak
+  (vars (a b name) (y y-0 rndx))
+  (defstrand resp 3 (a a) (b b) (y y-0) (chi y))
+  (deflistener (exp (gen) (mul y y-0)))
+  (defstrand resp 2 (b a) (y y) (chi y-0))
+  (precedes ((0 1) (1 0)) ((0 1) (2 0)) ((2 1) (0 2)))
+  (non-orig (privk a) (privk b))
+  (uniq-gen y-0)
+  (operation encryption-test (added-strand resp 2)
+    (enc (exp (gen) y) (exp (gen) y-0) (privk a)) (0 2))
+  (strand-map 0 1)
+  (traces
+    ((recv (exp (gen) y))
+      (send
+        (cat (exp (gen) y-0)
+          (enc (enc (exp (gen) y-0) (exp (gen) y) (privk b))
+            (exp (gen) (mul y y-0)))))
+      (recv
+        (enc (enc (exp (gen) y) (exp (gen) y-0) (privk a))
+          (exp (gen) (mul y y-0)))))
+    ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0))))
+    ((recv (exp (gen) y-0))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) y-0) (privk a))
+            (exp (gen) (mul y y-0)))))))
+  (label 28)
+  (parent 26)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (y y-0) (chi y))))
+  (origs)
+  (ugens (y-0 (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b))))
+  (label 29)
+  (unrealized (1 2))
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (origs ((privk b) (1 3)) ((privk a) (0 3)))
+  (ugens (x (0 0)) (y (1 1)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a) (b b) (y y) (chi x))
+  (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (displaced 2 0 init 3)
+    (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+      (exp (gen) (mul x y))) (1 2))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk b))))
+  (label 30)
+  (parent 29)
+  (realized)
+  (shape)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a))))
+  (origs ((privk b) (1 3)) ((privk a) (0 3)))
+  (ugens (x (0 0)) (y (1 1))))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (1 2)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation encryption-test (added-listener (exp (gen) (mul x y)))
+    (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+      (exp (gen) (mul x y))) (1 2))
+  (strand-map 0 1)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 31)
+  (parent 29)
+  (unrealized (2 0))
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (1 2))
+    ((3 1) (2 0)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (added-listener (cat (exp (gen) x) y))
+    (exp (gen) (mul x y)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 32)
+  (parent 31)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (1 2))
+    ((3 1) (2 0)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (added-listener (cat (exp (gen) y) x))
+    (exp (gen) (mul x y)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 33)
+  (parent 31)
+  (unrealized (3 0))
+  (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol station-weak diffie-hellman
+  (defrole init
+    (vars (x rndx) (eta expt) (a b name))
+    (trace (send (exp (gen) x))
+      (recv
+        (cat (exp (gen) eta)
+          (enc (enc (exp (gen) eta) (exp (gen) x) (privk b))
+            (exp (gen) (mul x eta)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) eta) (privk a))
+          (exp (gen) (mul x eta)))) (send (privk a))))
+  (defrole resp
+    (vars (y rndx) (chi expt) (a b name))
+    (trace (recv (exp (gen) chi))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) chi) (privk b))
+            (exp (gen) (mul y chi)))))
+      (recv
+        (enc (enc (exp (gen) chi) (exp (gen) y) (privk a))
+          (exp (gen) (mul y chi)))) (send (privk b))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 34)
+  (unrealized (1 2) (2 0))
+  (preskeleton)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (origs ((privk b) (1 3)) ((privk a) (0 3)))
+  (ugens (x (0 0)) (y (1 1)))
+  (comment "Not a skeleton"))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))))
+  (label 35)
+  (parent 34)
+  (unrealized (1 2) (2 0))
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (origs ((privk b) (1 3)) ((privk a) (0 3)))
+  (ugens (x (0 0)) (y (1 1)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) x) y))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((3 1) (2 0)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (added-listener (cat (exp (gen) x) y))
+    (exp (gen) (mul x y)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))))
+  (label 36)
+  (parent 35)
+  (unrealized (1 2) (3 0))
+  (dead)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (comment "empty cohort"))
+
+(defskeleton station-weak
+  (vars (a b a-0 name) (x y rndx))
+  (defstrand init 4 (a a) (b b) (x x) (eta y))
+  (defstrand resp 4 (a a-0) (b b) (y y) (chi x))
+  (deflistener (exp (gen) (mul x y)))
+  (deflistener (cat (exp (gen) y) x))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((3 1) (2 0)))
+  (uniq-orig (privk a) (privk b))
+  (uniq-gen x y)
+  (operation nonce-test (added-listener (cat (exp (gen) y) x))
+    (exp (gen) (mul x y)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (exp (gen) x))
+      (recv
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (send
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a))
+          (exp (gen) (mul x y)))) (send (privk a)))
+    ((recv (exp (gen) x))
+      (send
+        (cat (exp (gen) y)
+          (enc (enc (exp (gen) y) (exp (gen) x) (privk b))
+            (exp (gen) (mul x y)))))
+      (recv
+        (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0))
+          (exp (gen) (mul x y)))) (send (privk b)))
+    ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))
+    ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))))
+  (label 37)
+  (parent 35)
+  (unrealized (1 2) (3 0))
+  (dead)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/sts_weakened_reflect.tst b/tst/sts_weakened_reflect.tst
--- a/tst/sts_weakened_reflect.tst
+++ b/tst/sts_weakened_reflect.tst
@@ -1,7 +1,7 @@
 (herald "station-to-station-reflect protocol" (bound 20)
   (algebra diffie-hellman))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/sts_weakened_reflect.scm")
 (comment "Strand count bounded at 20")
 
@@ -52,6 +52,7 @@
           (exp (gen) (mul x eta))))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (x x) (eta eta))))
   (origs)
   (ugens (x (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -139,6 +140,7 @@
           (exp (gen) (mul y chi))))))
   (label 2)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (y y) (chi chi))))
   (origs)
   (ugens (y (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -174,6 +176,7 @@
   (label 3)
   (parent 2)
   (unrealized (1 1))
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -273,6 +276,7 @@
   (label 6)
   (parent 3)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -312,6 +316,7 @@
   (parent 6)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -351,6 +356,7 @@
   (parent 6)
   (unrealized (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -405,6 +411,7 @@
   (label 9)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (x x) (eta eta))))
   (origs)
   (ugens (x (0 0)))
   (comment "Not a skeleton"))
@@ -429,6 +436,7 @@
   (label 10)
   (parent 9)
   (unrealized (0 1))
+  (maps ((0 1) ((a a) (b b) (x x) (eta eta))))
   (origs)
   (ugens (x (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -463,6 +471,7 @@
   (label 11)
   (parent 10)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -498,6 +507,7 @@
   (parent 11)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -533,6 +543,7 @@
   (parent 11)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (eta y))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -588,6 +599,7 @@
   (label 14)
   (unrealized (0 2) (1 0))
   (preskeleton)
+  (maps ((0 1) ((a a) (b b) (y y) (chi chi))))
   (origs)
   (ugens (y (0 1)))
   (comment "Not a skeleton"))
@@ -613,6 +625,7 @@
   (label 15)
   (parent 14)
   (unrealized (0 2))
+  (maps ((0 1) ((a a) (b b) (y y) (chi chi))))
   (origs)
   (ugens (y (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -650,6 +663,7 @@
   (label 16)
   (parent 15)
   (unrealized (1 0) (2 1))
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -715,6 +729,7 @@
   (label 18)
   (parent 16)
   (unrealized (1 0))
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -754,6 +769,7 @@
   (label 19)
   (parent 16)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -793,6 +809,7 @@
   (parent 18)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -832,6 +849,7 @@
   (parent 18)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -873,6 +891,7 @@
   (parent 19)
   (unrealized (1 0) (4 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -914,6 +933,7 @@
   (parent 19)
   (unrealized (1 0) (4 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (y y) (chi x))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -976,6 +996,7 @@
           (exp (gen) (mul x y)))) (send (privk b))))
   (label 24)
   (unrealized (1 2))
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (origs ((privk b) (1 3)) ((privk a) (0 3)))
   (ugens (y (1 1)) (x (0 0)))
   (comment "3 in cohort - 3 not yet seen"))
@@ -1088,6 +1109,7 @@
   (label 27)
   (parent 24)
   (unrealized (2 0))
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton station-to-station-reflect
@@ -1127,6 +1149,7 @@
   (parent 27)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -1166,6 +1189,7 @@
   (parent 27)
   (unrealized (3 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1231,6 +1255,7 @@
   (label 30)
   (unrealized (1 2) (2 0))
   (preskeleton)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (origs ((privk b) (1 3)) ((privk a) (0 3)))
   (ugens (y (1 1)) (x (0 0)))
   (comment "Not a skeleton"))
@@ -1265,6 +1290,7 @@
   (label 31)
   (parent 30)
   (unrealized (1 2) (2 0))
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (origs ((privk b) (1 3)) ((privk a) (0 3)))
   (ugens (y (1 1)) (x (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -1305,6 +1331,7 @@
   (parent 31)
   (unrealized (1 2) (3 0))
   (dead)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (defskeleton station-to-station-reflect
@@ -1343,6 +1370,7 @@
   (parent 31)
   (unrealized (1 2) (3 0))
   (dead)
+  (maps ((0 1 2) ((a a) (b b) (x x) (y y) (a-0 a-0))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/subatomic-open-closed-test-genrule.tst b/tst/subatomic-open-closed-test-genrule.tst
--- a/tst/subatomic-open-closed-test-genrule.tst
+++ b/tst/subatomic-open-closed-test-genrule.tst
@@ -1,6 +1,6 @@
 (herald subatomic-open-closed-test-genrule (bound 40))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment
   "All input read from tst/subatomic-open-closed-test-genrule.scm")
 (comment "Strand count bounded at 40")
@@ -49,18 +49,18 @@
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -88,9 +88,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -329,6 +328,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -345,6 +345,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -374,6 +375,7 @@
   (parent 1)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -422,18 +424,18 @@
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -461,9 +463,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -700,6 +701,7 @@
       (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
   (label 3)
   (realized)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "Not closed under rules"))
 
@@ -716,6 +718,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -745,6 +748,7 @@
   (label 5)
   (parent 4)
   (unrealized (0 1) (1 0))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -774,12 +778,13 @@
   (label 6)
   (parent 5)
   (unrealized (0 1))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
   (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
     (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
-    (ls lk locn))
+    (lk ls locn))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls))
@@ -812,6 +817,7 @@
   (label 7)
   (parent 6)
   (unrealized (3 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -898,18 +904,18 @@
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -937,9 +943,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1181,6 +1186,10 @@
   (label 9)
   (unrealized (0 1) (1 0) (1 2))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -1200,6 +1209,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 1) (1 0) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -1221,6 +1234,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1255,6 +1272,10 @@
   (label 12)
   (parent 11)
   (unrealized (0 1) (1 1) (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1283,12 +1304,16 @@
   (label 13)
   (parent 12)
   (unrealized (0 1) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
   (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
     (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
-    (ls lk locn))
+    (lk ls locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
@@ -1320,6 +1345,10 @@
   (label 14)
   (parent 13)
   (unrealized (0 1) (1 2) (3 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1355,6 +1384,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 1) (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1388,6 +1421,10 @@
   (label 16)
   (parent 15)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1422,6 +1459,10 @@
   (label 17)
   (parent 15)
   (unrealized (0 1) (4 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1458,6 +1499,10 @@
   (label 18)
   (parent 16)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1494,6 +1539,10 @@
   (label 19)
   (parent 16)
   (unrealized (0 1) (5 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1530,6 +1579,10 @@
   (parent 17)
   (unrealized (0 1) (4 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton subatomic-open-closed
@@ -1608,6 +1661,10 @@
   (label 22)
   (parent 18)
   (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1647,6 +1704,10 @@
   (parent 19)
   (unrealized (0 1) (5 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton subatomic-open-closed
@@ -1687,6 +1748,10 @@
   (parent 22)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/subatomic-open-closed.tst b/tst/subatomic-open-closed.tst
--- a/tst/subatomic-open-closed.tst
+++ b/tst/subatomic-open-closed.tst
@@ -1,6 +1,6 @@
 (herald subatomic-open-closed (bound 40))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/subatomic-open-closed.scm")
 (comment "Strand count bounded at 40")
 
@@ -48,18 +48,18 @@
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -87,9 +87,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -208,6 +207,7 @@
   (label 0)
   (unrealized (0 1) (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -224,6 +224,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (origs (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -253,6 +254,7 @@
   (parent 1)
   (unrealized (0 1) (1 0))
   (dead)
+  (maps ((0 1) ((k k) (d d) (o o) (start-ch start-ch))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -301,18 +303,18 @@
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -340,9 +342,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -459,6 +460,7 @@
       (recv (enc "may I pass" k)) (send (enc "you may pass" n k))))
   (label 3)
   (realized)
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "Not closed under rules"))
 
@@ -475,6 +477,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (origs (n (0 3)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -504,6 +507,7 @@
   (label 5)
   (parent 4)
   (unrealized (0 1) (1 0))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -533,12 +537,13 @@
   (label 6)
   (parent 5)
   (unrealized (0 1))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
   (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
     (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
-    (ls lk locn))
+    (lk ls locn))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
     (start-ch start-ch) (lk lk) (ls ls))
@@ -571,6 +576,7 @@
   (label 7)
   (parent 6)
   (unrealized (3 2))
+  (maps ((0) ((k k) (n n) (d d) (o o) (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -657,18 +663,18 @@
   (defrule power-deliver-once
     (forall ((z1 z2 strd) (k skey))
       (implies
-        (and (p "dev-up" z1 (idx 2)) (p "dev-up" z2 (idx 2))
-          (p "dev-up" "k" z1 k) (p "dev-up" "k" z2 k))
+        (and (p "dev-up" z2 (idx 2)) (p "dev-up" z1 (idx 2))
+          (p "dev-up" "k" z2 k) (p "dev-up" "k" z1 k))
         (= z1 z2))))
   (defrule same-dev-ls-lk
     (forall ((ls lk lk-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls lk-0))
+        (and (fact same-dev ls lk-0) (fact same-dev ls lk))
         (= lk lk-0))))
   (defrule same-dev-lk-ls
     (forall ((lk ls ls-0 locn))
       (implies
-        (and (fact same-dev ls lk) (fact same-dev ls-0 lk))
+        (and (fact same-dev ls-0 lk) (fact same-dev ls lk))
         (= ls ls-0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -696,9 +702,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -820,6 +825,10 @@
   (label 9)
   (unrealized (0 1) (1 0) (1 2))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -839,6 +848,10 @@
   (label 10)
   (parent 9)
   (unrealized (0 1) (1 0) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "Not closed under rules"))
 
@@ -860,6 +873,10 @@
   (label 11)
   (parent 10)
   (unrealized (0 1) (1 0) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (origs (n (1 3)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -894,6 +911,10 @@
   (label 12)
   (parent 11)
   (unrealized (0 1) (1 1) (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d-0) (o-0 o-0)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -922,12 +943,16 @@
   (label 13)
   (parent 12)
   (unrealized (0 1) (1 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
   (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)
     (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval) (start-ch chan)
-    (ls lk locn))
+    (lk ls locn))
   (defstrand owner-power-dev 2 (k k) (d d) (o o) (start-ch start-ch))
   (defstrand dev-pass 4 (k k) (n n) (d d) (o o) (lk lk) (ls ls))
   (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)
@@ -959,6 +984,10 @@
   (label 14)
   (parent 13)
   (unrealized (0 1) (1 2) (3 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -994,6 +1023,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 1) (1 2) (2 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1027,6 +1060,10 @@
   (label 16)
   (parent 15)
   (unrealized (0 1) (1 2))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1061,6 +1098,10 @@
   (label 17)
   (parent 15)
   (unrealized (0 1) (4 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1097,6 +1138,10 @@
   (label 18)
   (parent 16)
   (unrealized (0 1))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1133,6 +1178,10 @@
   (label 19)
   (parent 16)
   (unrealized (0 1) (5 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1169,6 +1218,10 @@
   (parent 17)
   (unrealized (0 1) (4 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton subatomic-open-closed
@@ -1247,6 +1300,10 @@
   (label 22)
   (parent 18)
   (unrealized (6 0))
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton subatomic-open-closed
@@ -1286,6 +1343,10 @@
   (parent 19)
   (unrealized (0 1) (5 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (defskeleton subatomic-open-closed
@@ -1326,6 +1387,10 @@
   (parent 22)
   (unrealized (6 0))
   (dead)
+  (maps
+    ((0 1)
+      ((k k) (d d) (o o) (start-ch start-ch) (n n) (d-0 d) (o-0 o)
+        (lk lk) (ls ls))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/sync_locn_envelope.tst b/tst/sync_locn_envelope.tst
--- a/tst/sync_locn_envelope.tst
+++ b/tst/sync_locn_envelope.tst
@@ -1,7 +1,7 @@
 (herald "Envelope Protocol, location-based version" (check-nonces)
   (bound 30) (limit 6000))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/sync_locn_envelope.scm")
 (comment "Step count limited to 6000")
 (comment "Strand count bounded at 30")
@@ -102,9 +102,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -152,6 +151,10 @@
   (label 0)
   (unrealized (0 0) (1 3))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (origs (v (1 4)) (n (1 1)))
   (comment "Not a skeleton"))
 
@@ -173,6 +176,10 @@
   (label 1)
   (parent 0)
   (unrealized (1 3))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (origs (v (1 4)) (n (1 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -203,6 +210,10 @@
   (label 2)
   (parent 1)
   (unrealized (0 0) (2 0))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -232,6 +243,10 @@
   (label 3)
   (parent 2)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -262,6 +277,10 @@
   (label 4)
   (parent 3)
   (unrealized (0 0))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -298,6 +317,10 @@
   (label 5)
   (parent 4)
   (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -338,6 +361,10 @@
   (label 6)
   (parent 5)
   (unrealized (4 2))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -388,6 +415,10 @@
   (parent 6)
   (unrealized (4 1) (4 2))
   (dead)
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm-0) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -439,6 +470,10 @@
   (label 8)
   (parent 6)
   (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -493,6 +528,10 @@
   (label 9)
   (parent 8)
   (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce-0) (k k) (aik aik)
+        (tpm tpm-1) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -550,6 +589,10 @@
   (parent 8)
   (unrealized (6 1))
   (dead)
+  (maps
+    ((0 1)
+      ((v v) (n n) (pcr-id pcr-id) (nonce nonce) (k k) (aik aik)
+        (tpm tpm) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -709,9 +752,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -767,6 +809,10 @@
   (label 12)
   (unrealized (0 0) (1 3))
   (preskeleton)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (origs (v (1 4)) (n (1 1)))
   (comment "Not a skeleton"))
 
@@ -796,6 +842,10 @@
   (label 13)
   (parent 12)
   (unrealized (0 0) (1 3))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (origs (v (1 4)) (n (1 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -835,6 +885,10 @@
   (label 14)
   (parent 13)
   (unrealized (0 0) (2 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -873,6 +927,10 @@
   (label 15)
   (parent 14)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -912,6 +970,10 @@
   (label 16)
   (parent 15)
   (unrealized (0 0))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -963,6 +1025,10 @@
   (label 17)
   (parent 16)
   (unrealized (4 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1023,6 +1089,10 @@
   (parent 17)
   (unrealized (4 1) (4 2))
   (dead)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm-0) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1085,6 +1155,10 @@
   (label 19)
   (parent 17)
   (unrealized (5 2))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1149,6 +1223,10 @@
   (label 20)
   (parent 19)
   (unrealized (5 1))
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpm-1) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1217,6 +1295,10 @@
   (parent 19)
   (unrealized (6 1))
   (dead)
+  (maps
+    ((0 1)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1386,9 +1468,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -1445,6 +1526,10 @@
   (label 23)
   (unrealized (0 0) (1 0) (2 3))
   (preskeleton)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (origs (v (2 4)) (n (2 1)))
   (comment "Not a skeleton"))
 
@@ -1475,6 +1560,10 @@
   (label 24)
   (parent 23)
   (unrealized (0 0) (2 3))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (origs (v (2 4)) (n (2 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1515,6 +1604,10 @@
   (label 25)
   (parent 24)
   (unrealized (0 0) (1 0) (3 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1554,6 +1647,10 @@
   (label 26)
   (parent 25)
   (unrealized (0 0) (1 0) (2 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1595,6 +1692,10 @@
   (label 27)
   (parent 26)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1641,6 +1742,10 @@
   (label 28)
   (parent 27)
   (unrealized (0 0) (5 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1690,6 +1795,10 @@
   (label 29)
   (parent 28)
   (unrealized (0 0) (5 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1749,6 +1858,10 @@
   (parent 29)
   (unrealized (0 0) (5 1) (5 2))
   (dead)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm-0) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -1810,6 +1923,10 @@
   (label 31)
   (parent 29)
   (unrealized (0 0) (6 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -1874,6 +1991,10 @@
   (label 32)
   (parent 31)
   (unrealized (0 0) (6 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpm-1) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -1942,6 +2063,10 @@
   (parent 31)
   (unrealized (0 0) (7 1))
   (dead)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2006,6 +2131,10 @@
   (label 34)
   (parent 32)
   (unrealized (0 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2080,6 +2209,10 @@
   (label 35)
   (parent 34)
   (unrealized (7 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2163,6 +2296,10 @@
   (label 36)
   (parent 35)
   (unrealized (8 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2253,6 +2390,10 @@
   (parent 36)
   (unrealized (9 1))
   (dead)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -2352,9 +2493,8 @@
   (defgenrule discreteAfter
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
       (implies
-        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
-          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
-          (prec z0 i0 z2 i2))
+        (and (trans z0 i0) (trans z2 i2) (leads-to z0 i0 z1 i1)
+          (same-locn z0 i0 z2 i2) (prec z0 i0 z2 i2))
         (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
   (defgenrule discreteBefore
     (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
@@ -2412,6 +2552,10 @@
   (label 38)
   (unrealized (0 0) (1 0) (2 3))
   (preskeleton)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (origs (v (2 4)) (n (2 1)))
   (comment "Not a skeleton"))
 
@@ -2443,6 +2587,10 @@
   (label 39)
   (parent 38)
   (unrealized (0 0) (2 3))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (origs (v (2 4)) (n (2 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2484,6 +2632,10 @@
   (label 40)
   (parent 39)
   (unrealized (0 0) (1 0) (3 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2524,6 +2676,10 @@
   (label 41)
   (parent 40)
   (unrealized (0 0) (1 0) (2 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2566,6 +2722,10 @@
   (label 42)
   (parent 41)
   (unrealized (0 0) (1 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2613,6 +2773,10 @@
   (label 43)
   (parent 42)
   (unrealized (0 0) (5 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2663,6 +2827,10 @@
   (label 44)
   (parent 43)
   (unrealized (0 0) (5 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2723,6 +2891,10 @@
   (parent 44)
   (unrealized (0 0) (5 1) (5 2))
   (dead)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm-0) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2785,6 +2957,10 @@
   (label 46)
   (parent 44)
   (unrealized (0 0) (6 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton envelope
@@ -2850,6 +3026,10 @@
   (label 47)
   (parent 46)
   (unrealized (0 0) (6 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpm-1) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -2919,6 +3099,10 @@
   (parent 46)
   (unrealized (0 0) (7 1))
   (dead)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce) (tpm tpm) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (defskeleton envelope
@@ -2984,6 +3168,10 @@
   (label 49)
   (parent 47)
   (unrealized (0 0))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3059,6 +3247,10 @@
   (label 50)
   (parent 49)
   (unrealized (7 1))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3143,6 +3335,10 @@
   (label 51)
   (parent 50)
   (unrealized (8 2))
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton envelope
@@ -3234,6 +3430,10 @@
   (parent 51)
   (unrealized (9 1))
   (dead)
+  (maps
+    ((0 1 2)
+      ((n n) (v v) (k k) (aik aik) (pcr-id pcr-id) (pcr-id-0 pcr-id-0)
+        (nonce nonce-0) (tpm tpmconf) (tpmconf tpmconf))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/targetterms1.tst b/tst/targetterms1.tst
--- a/tst/targetterms1.tst
+++ b/tst/targetterms1.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/targetterms1.scm")
 
 (defprotocol targetterms basic
@@ -23,6 +23,7 @@
   (traces ((send (enc n1 (enc a n2 k) k)) (recv (enc a n1 k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((n1 n1) (k k) (a a) (n2 n2))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -38,6 +39,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((n1 n2) (k k) (a a) (n2 n2))))
   (origs (n2 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/targetterms2.tst b/tst/targetterms2.tst
--- a/tst/targetterms2.tst
+++ b/tst/targetterms2.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/targetterms2.scm")
 
 (defprotocol targetterms2 basic
@@ -28,6 +28,7 @@
       (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -47,6 +48,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton targetterms2
@@ -67,6 +69,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms2
@@ -88,6 +91,7 @@
   (label 3)
   (parent 1)
   (unrealized (1 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms2
@@ -110,6 +114,7 @@
   (label 4)
   (parent 2)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms2
@@ -131,6 +136,7 @@
   (label 5)
   (parent 3)
   (unrealized (1 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms2
@@ -161,6 +167,7 @@
       (operation nonce-test (displaced 3 1 trans 3) n (2 1)
         (enc n (pubk a))) (strand-map 0 1 2)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (n n))))
   (comment "2 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms2
@@ -211,6 +218,7 @@
   (label 8)
   (parent 6)
   (unrealized (2 1))
+  (maps ((0) ((a a) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton targetterms2
@@ -241,6 +249,7 @@
   (seen-ops
     (7 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
   (realized)
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton targetterms2
@@ -270,6 +279,7 @@
   (seen-ops
     (7 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/targetterms6.tst b/tst/targetterms6.tst
--- a/tst/targetterms6.tst
+++ b/tst/targetterms6.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/targetterms6.scm")
 
 (defprotocol targetterms6 basic
@@ -32,6 +32,7 @@
           (enc n (enc n (pubk a)) (pubk a))))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -53,6 +54,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms6
@@ -75,6 +77,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms6
@@ -99,6 +102,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton targetterms6
@@ -126,6 +130,7 @@
   (label 4)
   (parent 3)
   (unrealized (2 1))
+  (maps ((0) ((a a) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton targetterms6
@@ -180,6 +185,7 @@
   (label 6)
   (parent 4)
   (unrealized (2 1))
+  (maps ((0) ((a a) (n n))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton targetterms6
@@ -212,6 +218,7 @@
   (seen-ops
     (5 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
   (realized)
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton targetterms6
@@ -243,6 +250,7 @@
   (seen-ops
     (5 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (n n))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/targetterms8.tst b/tst/targetterms8.tst
--- a/tst/targetterms8.tst
+++ b/tst/targetterms8.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/targetterms8.scm")
 
 (defprotocol targetterms8 basic
@@ -25,6 +25,7 @@
   (traces ((send (enc n1 (enc a n2 k) k)) (recv (enc a n1 k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n1 n1) (n2 n2) (k k))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -40,6 +41,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n1 n2) (n2 n2) (k k))))
   (origs (n2 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -88,6 +90,7 @@
   (traces ((send (enc n1 (enc a n1 k) k)) (recv (enc a n1 k))))
   (label 3)
   (unrealized (0 1))
+  (maps ((0) ((a a) (n1 n1) (k k))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/thisthat.tst b/tst/thisthat.tst
--- a/tst/thisthat.tst
+++ b/tst/thisthat.tst
@@ -1,6 +1,6 @@
 (herald "Needham-Schroeder Public-Key Protocol This-That Variant")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/thisthat.scm")
 
 (defprotocol thisthat basic
@@ -38,6 +38,7 @@
       (recv (cat (enc "this" n2 (pubk b)) (enc "that" n3 (pubk b))))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3))))
   (origs (n1 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -48,6 +49,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand that 2) n1 (0 1)
     (enc n1 a (pubk b)))
   (strand-map 0)
@@ -59,6 +61,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton thisthat
@@ -68,6 +71,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n3-0 n3)) n1 (0 1)
     (enc n1 n3 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -79,6 +83,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 1) (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -88,6 +93,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n2 n3)) n1 (0 1)
     (enc n1 n3 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -99,6 +105,7 @@
   (label 3)
   (parent 2)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -109,6 +116,7 @@
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (added-strand that 2) n1 (0 1)
     (enc n1 n3 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1)
@@ -121,6 +129,7 @@
   (label 4)
   (parent 2)
   (unrealized (0 1) (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n2) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -130,6 +139,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 2 this 3) n3 (0 2)
     (enc n1 n3 (pubk a)))
   (strand-map 0 1)
@@ -143,6 +153,7 @@
   (parent 3)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton thisthat
@@ -152,6 +163,7 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 2 that 3) n3 (0 2)
     (enc n1 n3 (pubk a)))
   (strand-map 0 1)
@@ -165,6 +177,7 @@
   (parent 3)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton thisthat
@@ -175,6 +188,7 @@
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n2 n3)) n1 (0 1)
     (enc n1 n3 (pubk a)) (enc n1 n3-0 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1 2)
@@ -187,6 +201,7 @@
   (label 7)
   (parent 4)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -197,6 +212,7 @@
   (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (contracted (n2 n3-0)) n1 (0 1)
     (enc n1 n3 (pubk a)) (enc n1 n3-0 (pubk a)) (enc n1 a (pubk b)))
   (strand-map 0 1 2)
@@ -209,6 +225,7 @@
   (label 8)
   (parent 4)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3-0) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -220,6 +237,7 @@
     ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 this 3) n3 (0 2)
     (enc n1 n3 (pubk a)))
   (strand-map 0 2 1)
@@ -234,6 +252,7 @@
   (parent 7)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton thisthat
@@ -245,6 +264,7 @@
     ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 that 3) n3 (0 2)
     (enc n1 n3 (pubk a)))
   (strand-map 0 2 1)
@@ -259,6 +279,7 @@
   (parent 7)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton thisthat
@@ -270,6 +291,7 @@
     ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 this 3) n3 (0 2)
     (enc n1 n3 (pubk a)))
   (strand-map 0 2 1)
@@ -283,6 +305,7 @@
   (label 11)
   (parent 8)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3-0) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -294,6 +317,7 @@
     ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 that 3) n3 (0 2)
     (enc n1 n3 (pubk a)))
   (strand-map 0 2 1)
@@ -307,6 +331,7 @@
   (label 12)
   (parent 8)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3-0) (n3 n3))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton thisthat
@@ -318,6 +343,7 @@
     ((2 1) (0 1)) ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 this 3) n3-0 (0 2)
     (enc n1 n3-0 (pubk a)))
   (strand-map 0 2 1)
@@ -333,6 +359,7 @@
   (parent 11)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3-0) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton thisthat
@@ -344,6 +371,7 @@
     ((2 1) (0 1)) ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 that 3) n3-0 (0 2)
     (enc n1 n3-0 (pubk a)))
   (strand-map 0 2 1)
@@ -359,6 +387,7 @@
   (parent 11)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3-0) (n3 n3))))
   (comment "empty cohort"))
 
 (defskeleton thisthat
@@ -370,6 +399,7 @@
     ((2 1) (0 1)) ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 this 3) n3-0 (0 2)
     (enc n1 n3-0 (pubk a)))
   (strand-map 0 2 1)
@@ -397,6 +427,7 @@
     ((2 1) (0 1)) ((2 2) (0 2)))
   (non-orig (privk a) (privk b))
   (uniq-orig n1 n3 n3-0)
+  (comment "Initiator point-of-view")
   (operation nonce-test (displaced 1 3 that 3) n3-0 (0 2)
     (enc n1 n3-0 (pubk a)))
   (strand-map 0 2 1)
@@ -412,6 +443,7 @@
   (parent 12)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (n1 n1) (n2 n3-0) (n3 n3))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/tickle-unique.tst b/tst/tickle-unique.tst
--- a/tst/tickle-unique.tst
+++ b/tst/tickle-unique.tst
@@ -1,6 +1,6 @@
 (herald tickle-unique)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/tickle-unique.scm")
 
 (defprotocol tickle basic
@@ -16,8 +16,8 @@
   (defrule uniq-tickle
     (forall ((z strd) (nb0 text))
       (implies
-        (and (fact guard-me) (p "resp" z (idx 2))
-          (p "resp" "nb0" z nb0))
+        (and (p "resp" z (idx 2)) (p "resp" "nb0" z nb0)
+          (fact guard-me))
         (uniq nb0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -36,6 +36,7 @@
       (recv nb)))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (nb0 nb0) (nb nb) (na na))))
   (origs (nb (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -76,8 +77,8 @@
   (defrule uniq-tickle
     (forall ((z strd) (nb0 text))
       (implies
-        (and (fact guard-me) (p "resp" z (idx 2))
-          (p "resp" "nb0" z nb0))
+        (and (p "resp" z (idx 2)) (p "resp" "nb0" z nb0)
+          (fact guard-me))
         (uniq nb0))))
   (defgenrule neqRl_indx
     (forall ((x indx)) (implies (fact neq x x) (false))))
@@ -97,6 +98,7 @@
       (recv nb)))
   (label 2)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (nb0 nb0) (nb nb) (na na))))
   (origs (nb (0 1)))
   (comment "Not closed under rules"))
 
@@ -114,6 +116,7 @@
   (parent 2)
   (unrealized (0 2))
   (dead)
+  (maps ((0) ((a a) (b b) (nb0 nb0) (nb nb) (na na))))
   (origs (nb0 (0 1)) (nb (0 1)))
   (comment "empty cohort"))
 
diff --git a/tst/timestamping.tst b/tst/timestamping.tst
--- a/tst/timestamping.tst
+++ b/tst/timestamping.tst
@@ -1,6 +1,6 @@
 (herald timestamping-service)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/timestamping.scm")
 
 (defprotocol timestamping-service basic
@@ -57,6 +57,10 @@
       (recv (enc n alice h alice_1 h_1 t_1 l (privk trent)))))
   (label 0)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1) (t_1 t_1) (l l))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -95,6 +99,10 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1) (t_1 t_1) (l (hash alice_1 h_1 t_1 l_1)))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton timestamping-service
@@ -124,6 +132,10 @@
   (label 2)
   (parent 0)
   (unrealized (0 1) (1 0))
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1) (t_1 t_1) (l (hash alice_1 h_1 t_1 l_1)))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton timestamping-service
@@ -209,6 +221,18 @@
   (label 3)
   (parent 1)
   (unrealized (2 0))
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1)
+        (t_1
+          (enc n-0 alice_1 h_1 alice_1-0 h_1-0 t_1
+            (hash alice_1-0 h_1-0 t_1 l_1) (privk trent)))
+        (l
+          (hash alice_1 h_1
+            (enc n-0 alice_1 h_1 alice_1-0 h_1-0 t_1
+              (hash alice_1-0 h_1-0 t_1 l_1) (privk trent))
+            (hash alice_1-0 h_1-0 t_1 l_1))))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton timestamping-service
@@ -240,6 +264,10 @@
   (label 4)
   (parent 2)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1) (t_1 t_1) (l (hash alice_1 h_1 t_1 l_1)))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton timestamping-service
@@ -411,6 +439,10 @@
   (label 6)
   (parent 4)
   (unrealized (3 0))
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1) (t_1 t_1) (l (hash alice_1 h_1 t_1 l_1)))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton timestamping-service
@@ -569,6 +601,10 @@
   (seen-ops
     (7 (operation generalization deleted (1 0)) (strand-map 0 2 3 4)))
   (realized)
+  (maps
+    ((0)
+      ((trent trent) (alice alice) (alice_1 alice_1) (n n) (h h)
+        (h_1 h_1) (t_1 t_1) (l (hash alice_1 h_1 t_1 l_1)))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/tmp-yahalom.tst b/tst/tmp-yahalom.tst
new file mode 100644
--- /dev/null
+++ b/tst/tmp-yahalom.tst
@@ -0,0 +1,362 @@
+(herald "Yahalom Protocol Without Forwarding" (bound 15))
+
+(comment "CPSA 4.4.6")
+(comment "All input read from tst/tmp-yahalom.scm")
+(comment "Strand count bounded at 15")
+
+(defprotocol yahalom basic
+  (defrole init
+    (vars (a b c name) (n-a n-b text) (k skey))
+    (trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
+      (send (enc n-b k))))
+  (defrole resp
+    (vars (b a c name) (n-a n-b text) (k skey))
+    (trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))))
+  (defrole serv
+    (vars (c a b name) (n-a n-b text) (k skey))
+    (trace (recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
+    (uniq-orig k))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (c a b name))
+  (defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
+  (non-orig (ltk a c) (ltk b c))
+  (uniq-orig k)
+  (traces
+    ((recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c)))))
+  (label 0)
+  (unrealized (0 0))
+  (origs (k (0 1)))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (c a b name))
+  (defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
+  (defstrand resp 2 (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (precedes ((1 1) (0 0)))
+  (non-orig (ltk a c) (ltk b c))
+  (uniq-orig k)
+  (operation encryption-test (added-strand resp 2)
+    (enc a n-a n-b (ltk b c)) (0 0))
+  (strand-map 0)
+  (traces
+    ((recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))))
+  (label 1)
+  (parent 0)
+  (realized)
+  (shape)
+  (maps ((0) ((c c) (a a) (b b) (k k) (n-a n-a) (n-b n-b))))
+  (origs (k (0 1))))
+
+(comment "Nothing left to do")
+
+(defprotocol yahalom basic
+  (defrole init
+    (vars (a b c name) (n-a n-b text) (k skey))
+    (trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
+      (send (enc n-b k))))
+  (defrole resp
+    (vars (b a c name) (n-a n-b text) (k skey))
+    (trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))))
+  (defrole serv
+    (vars (c a b name) (n-a n-b text) (k skey))
+    (trace (recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
+    (uniq-orig k))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k)))
+    ((recv k) (send k)))
+  (label 2)
+  (unrealized (0 2))
+  (origs)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b n-a-0 n-b-0 text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b))
+  (precedes ((2 1) (1 0)) ((2 2) (0 2)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation encryption-test (added-strand serv 3) (enc a k (ltk b c))
+    (0 2))
+  (strand-map 0 1)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a-0 n-b-0 (ltk b c))))
+      (send (enc b k n-a-0 n-b-0 (ltk a c)))
+      (send (enc a k (ltk b c)))))
+  (label 3)
+  (parent 2)
+  (unrealized (0 3) (1 0) (2 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
+  (precedes ((0 1) (2 0)) ((2 1) (1 0)) ((2 2) (0 2)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation encryption-test (displaced 3 0 resp 2)
+    (enc a n-a-0 n-b-0 (ltk b c)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c)))))
+  (label 4)
+  (parent 3)
+  (unrealized (0 3) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b n-a-0 n-b-0 text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b))
+  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
+  (precedes ((2 1) (1 0)) ((2 2) (0 2)) ((3 1) (2 0)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation encryption-test (added-strand resp 2)
+    (enc a n-a-0 n-b-0 (ltk b c)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a-0 n-b-0 (ltk b c))))
+      (send (enc b k n-a-0 n-b-0 (ltk a c))) (send (enc a k (ltk b c))))
+    ((recv (cat a n-a-0)) (send (cat b (enc a n-a-0 n-b-0 (ltk b c))))))
+  (label 5)
+  (parent 3)
+  (unrealized (0 3) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
+  (precedes ((0 1) (2 0)) ((2 2) (0 2)) ((2 2) (1 0)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation nonce-test (displaced 3 2 serv 3) k (1 0)
+    (enc b k n-a n-b (ltk a c)))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c)))))
+  (label 6)
+  (parent 4)
+  (unrealized (0 3) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b n-a-0 n-b-0 text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b))
+  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
+  (precedes ((2 2) (0 2)) ((2 2) (1 0)) ((3 1) (2 0)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation nonce-test (displaced 4 2 serv 3) k (1 0)
+    (enc b k n-a-0 n-b-0 (ltk a c)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a-0 n-b-0 (ltk b c))))
+      (send (enc b k n-a-0 n-b-0 (ltk a c))) (send (enc a k (ltk b c))))
+    ((recv (cat a n-a-0)) (send (cat b (enc a n-a-0 n-b-0 (ltk b c))))))
+  (label 7)
+  (parent 5)
+  (unrealized (0 3) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
+
+(defprotocol yahalom basic
+  (defrole init
+    (vars (a b c name) (n-a n-b text) (k skey))
+    (trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
+      (send (enc n-b k))))
+  (defrole resp
+    (vars (b a c name) (n-a n-b text) (k skey))
+    (trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))))
+  (defrole serv
+    (vars (c a b name) (n-a n-b text) (k skey))
+    (trace (recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
+    (uniq-orig k))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k)))
+    ((recv k) (send k)))
+  (label 8)
+  (unrealized (0 2))
+  (origs)
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b n-a-0 n-b-0 text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b))
+  (precedes ((2 1) (1 0)) ((2 2) (0 2)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation encryption-test (added-strand serv 3) (enc a k (ltk b c))
+    (0 2))
+  (strand-map 0 1)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a-0 n-b-0 (ltk b c))))
+      (send (enc b k n-a-0 n-b-0 (ltk a c)))
+      (send (enc a k (ltk b c)))))
+  (label 9)
+  (parent 8)
+  (unrealized (0 3) (1 0) (2 0))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
+  (precedes ((0 1) (2 0)) ((2 1) (1 0)) ((2 2) (0 2)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation encryption-test (displaced 3 0 resp 2)
+    (enc a n-a-0 n-b-0 (ltk b c)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c)))))
+  (label 10)
+  (parent 9)
+  (unrealized (0 3) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b n-a-0 n-b-0 text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b))
+  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
+  (precedes ((2 1) (1 0)) ((2 2) (0 2)) ((3 1) (2 0)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation encryption-test (added-strand resp 2)
+    (enc a n-a-0 n-b-0 (ltk b c)) (2 0))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a-0 n-b-0 (ltk b c))))
+      (send (enc b k n-a-0 n-b-0 (ltk a c))) (send (enc a k (ltk b c))))
+    ((recv (cat a n-a-0)) (send (cat b (enc a n-a-0 n-b-0 (ltk b c))))))
+  (label 11)
+  (parent 9)
+  (unrealized (0 3) (1 0))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
+  (precedes ((0 1) (2 0)) ((2 2) (0 2)) ((2 2) (1 0)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation nonce-test (displaced 3 2 serv 3) k (1 0)
+    (enc b k n-a n-b (ltk a c)))
+  (strand-map 0 1 2)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a n-b (ltk b c))))
+      (send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c)))))
+  (label 12)
+  (parent 10)
+  (unrealized (0 3) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(defskeleton yahalom
+  (vars (k skey) (n-a n-b n-a-0 n-b-0 text) (b a c name))
+  (defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
+  (deflistener k)
+  (defstrand serv 3 (k k) (n-a n-a-0) (n-b n-b-0) (c c) (a a) (b b))
+  (defstrand resp 2 (n-a n-a-0) (n-b n-b-0) (b b) (a a) (c c))
+  (precedes ((2 2) (0 2)) ((2 2) (1 0)) ((3 1) (2 0)))
+  (non-orig (ltk b c) (ltk a c))
+  (uniq-orig k)
+  (operation nonce-test (displaced 4 2 serv 3) k (1 0)
+    (enc b k n-a-0 n-b-0 (ltk a c)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
+      (recv (enc a k (ltk b c))) (recv (enc n-b k))) ((recv k) (send k))
+    ((recv (cat b (enc a n-a-0 n-b-0 (ltk b c))))
+      (send (enc b k n-a-0 n-b-0 (ltk a c))) (send (enc a k (ltk b c))))
+    ((recv (cat a n-a-0)) (send (cat b (enc a n-a-0 n-b-0 (ltk b c))))))
+  (label 13)
+  (parent 11)
+  (unrealized (0 3) (1 0))
+  (dead)
+  (comment "empty cohort"))
+
+(comment "Nothing left to do")
diff --git a/tst/trust-anchor.tst b/tst/trust-anchor.tst
--- a/tst/trust-anchor.tst
+++ b/tst/trust-anchor.tst
@@ -1,7 +1,7 @@
 (herald trust-anchor
   (comment "Tests rule application on initial skeleton"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/trust-anchor.scm")
 
 (defprotocol trust-anchor basic
@@ -24,6 +24,7 @@
   (label 0)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((f f) (ca ca))))
   (origs)
   (comment "empty cohort"))
 
@@ -48,6 +49,7 @@
       (send (enc f (pubk f) (privk ca)))))
   (label 1)
   (realized)
+  (maps ((0) ((f f) (ca ca))))
   (origs)
   (comment "Not closed under rules"))
 
@@ -64,6 +66,7 @@
   (parent 1)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((f f) (ca ca))))
   (origs)
   (comment "empty cohort"))
 
diff --git a/tst/ugen-at.tst b/tst/ugen-at.tst
--- a/tst/ugen-at.tst
+++ b/tst/ugen-at.tst
@@ -1,6 +1,6 @@
 (herald uniq-at)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ugen-at.scm")
 
 (defprotocol yahalom-plus-uniq-at basic
@@ -44,6 +44,8 @@
       (recv (enc n-b k))) ((recv k) (send k)))
   (label 0)
   (unrealized (0 2) (0 4))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (origs)
   (ugens (n-b (0 1)))
   (comment "Not closed under rules"))
@@ -64,6 +66,8 @@
   (label 1)
   (parent 0)
   (unrealized (0 2) (0 4))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (origs)
   (ugens (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -91,6 +95,8 @@
   (label 2)
   (parent 1)
   (unrealized (0 4) (1 0) (2 0))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom-plus-uniq-at
@@ -116,6 +122,8 @@
   (parent 2)
   (unrealized (0 4) (1 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "empty cohort"))
 
 (defskeleton yahalom-plus-uniq-at
@@ -143,6 +151,8 @@
   (parent 2)
   (unrealized (0 4) (1 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -185,6 +195,7 @@
       (send (enc n-b k))))
   (label 5)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (origs)
   (ugens (n-a (0 0)))
   (comment "Not closed under rules"))
@@ -202,6 +213,7 @@
   (label 6)
   (parent 5)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (origs)
   (ugens (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
@@ -226,6 +238,7 @@
   (label 7)
   (parent 6)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom-plus-uniq-at
diff --git a/tst/ugo.tst b/tst/ugo.tst
--- a/tst/ugo.tst
+++ b/tst/ugo.tst
@@ -1,7 +1,7 @@
 (herald uniq-gen-and-orig-example
   (comment "Non-executable role examples"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/ugo.scm")
 
 (defprotocol uniq-gen-example basic
@@ -34,6 +34,7 @@
   (label 0)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((u u) (k k))))
   (origs)
   (comment "empty cohort"))
 
@@ -70,6 +71,7 @@
   (label 1)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((u u) (k k))))
   (origs)
   (comment "empty cohort"))
 
@@ -105,6 +107,7 @@
   (label 2)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((u u) (k k))))
   (origs)
   (comment "empty cohort"))
 
@@ -141,6 +144,7 @@
   (label 3)
   (unrealized (0 0))
   (dead)
+  (maps ((0) ((u u) (k k))))
   (origs)
   (comment "empty cohort"))
 
@@ -172,6 +176,7 @@
   (traces ((recv (enc u k)) (send (invk u)) (recv u)))
   (label 4)
   (unrealized (0 0))
+  (maps ((0) ((u u) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -189,6 +194,7 @@
   (label 5)
   (parent 4)
   (unrealized (0 2))
+  (maps ((0) ((u u) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton uniq-orig-example
@@ -238,6 +244,7 @@
   (traces ((recv (enc u k)) (send (invk u)) (recv u)))
   (label 7)
   (unrealized (0 0))
+  (maps ((0) ((u u) (k k))))
   (origs ((invk u) (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -255,6 +262,7 @@
   (label 8)
   (parent 7)
   (unrealized (0 2))
+  (maps ((0) ((u u) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton uniq-orig-example
diff --git a/tst/uncarried_keys.tst b/tst/uncarried_keys.tst
--- a/tst/uncarried_keys.tst
+++ b/tst/uncarried_keys.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/uncarried_keys.scm")
 
 (defprotocol uncarried-keys basic
@@ -31,6 +31,7 @@
       (send (enc a K (pubk B))) (recv (enc a A B K))))
   (label 0)
   (unrealized (0 1) (0 3))
+  (maps ((0) ((a a) (A A) (B B) (K K))))
   (origs (K (0 2)) (a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -51,6 +52,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 3))
+  (maps ((0) ((a a) (A A) (B B) (K K))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton uncarried-keys
@@ -138,6 +140,7 @@
   (parent 1)
   (unrealized (2 0))
   (dead)
+  (maps ((0) ((a a) (A A) (B B) (K K))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
diff --git a/tst/unilateral.tst b/tst/unilateral.tst
--- a/tst/unilateral.tst
+++ b/tst/unilateral.tst
@@ -1,6 +1,6 @@
 (herald unilateral)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/unilateral.scm")
 
 (defprotocol unilateral basic
@@ -26,6 +26,7 @@
   (traces ((send (enc n k)) (recv n)))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((k k) (n n))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -71,6 +72,7 @@
   (traces ((recv (enc n k)) (send n)))
   (label 2)
   (unrealized (0 0))
+  (maps ((0) ((n n) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -125,6 +127,7 @@
   (traces ((send (enc n k)) (recv n)))
   (label 4)
   (unrealized (0 1))
+  (maps ((0) ((n n) (k k))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -135,6 +138,14 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (invk k))
   (uniq-orig n)
+  (goals
+    (forall ((n text) (k akey) (z strd))
+      (implies
+        (and (p "init" z 2) (p "init" "n" z n) (p "init" "k" z k)
+          (non (invk k)) (uniq-at n z 0))
+        (exists ((z-0 strd))
+          (and (p "resp" z-0 2) (p "resp" "n" z-0 n)
+            (p "resp" "k" z-0 k) (prec z 0 z-0 0) (prec z-0 1 z 1))))))
   (operation nonce-test (added-strand resp 2) n (0 1) (enc n k))
   (strand-map 0)
   (traces ((send (enc n k)) (recv n)) ((recv (enc n k)) (send n)))
@@ -180,6 +191,7 @@
   (traces ((recv (enc n k)) (send n)))
   (label 6)
   (unrealized (0 0))
+  (maps ((0) ((n n) (k k))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -191,6 +203,15 @@
   (non-orig (invk k))
   (pen-non-orig n)
   (uniq-orig n)
+  (goals
+    (forall ((n text) (k akey) (z strd))
+      (implies
+        (and (p "resp" z 2) (p "resp" "n" z n) (p "resp" "k" z k)
+          (non (invk k)) (pnon n))
+        (exists ((k-0 akey) (z-0 strd))
+          (and (p "init" z-0 1) (p "init" "n" z-0 n)
+            (p "init" "k" z-0 k-0) (prec z-0 0 z 0)
+            (uniq-at n z-0 0))))))
   (operation nonce-test (added-strand init 1) n (0 0))
   (strand-map 0)
   (traces ((recv (enc n k)) (send n)) ((send (enc n k-0))))
@@ -233,6 +254,7 @@
       (recv (cat na nb b t3 (enc na nb b t2 (privk b))))))
   (label 8)
   (unrealized (0 1))
+  (maps ((0) ((b b) (na na) (nb nb) (t1 t1) (t2 t2) (t3 t3))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -293,6 +315,7 @@
       (recv (cat na nb b t3 (enc na nb b t2 (privk b))))))
   (label 10)
   (unrealized (0 1))
+  (maps ((0) ((b b) (na na) (nb nb) (t1 t1) (t2 t2) (t3 t3))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -303,6 +326,10 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig na nb)
+  (goals
+    (forall ((b name) (z strd))
+      (implies (and (p "init" z 2) (p "init" "b" z b) (non (privk b)))
+        (exists ((y strd)) (and (p "resp" y 2) (p "resp" "b" y b))))))
   (operation encryption-test (added-strand resp 2)
     (enc na nb b t2 (privk b)) (0 1))
   (strand-map 0)
@@ -354,6 +381,7 @@
       (recv (cat na nb b t3 (enc na nb b t2 (privk b))))))
   (label 12)
   (unrealized (0 1))
+  (maps ((0) ((b b) (na na) (nb nb) (t1 t1) (t2 t2) (t3 t3))))
   (origs (nb (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -364,6 +392,10 @@
   (precedes ((0 0) (1 0)) ((1 1) (0 1)))
   (non-orig (privk b))
   (uniq-orig na nb)
+  (goals
+    (forall ((b name) (z strd))
+      (implies (and (p "init" z 2) (p "init" "b" z b) (non (privk b)))
+        (false))))
   (operation encryption-test (added-strand resp 2)
     (enc na nb b t2 (privk b)) (0 1))
   (strand-map 0)
diff --git a/tst/uniq-at.tst b/tst/uniq-at.tst
--- a/tst/uniq-at.tst
+++ b/tst/uniq-at.tst
@@ -1,6 +1,6 @@
 (herald uniq-at)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/uniq-at.scm")
 
 (defprotocol yahalom-plus-uniq-at basic
@@ -44,6 +44,8 @@
       (recv (enc n-b k))) ((recv k) (send k)))
   (label 0)
   (unrealized (0 2) (0 4))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (origs (n-b (0 1)))
   (comment "Not closed under rules"))
 
@@ -63,6 +65,8 @@
   (label 1)
   (parent 0)
   (unrealized (0 2) (0 4))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -89,6 +93,8 @@
   (label 2)
   (parent 1)
   (unrealized (0 4) (1 0) (2 0))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom-plus-uniq-at
@@ -114,6 +120,8 @@
   (parent 2)
   (unrealized (0 4) (1 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "empty cohort"))
 
 (defskeleton yahalom-plus-uniq-at
@@ -141,6 +149,8 @@
   (parent 2)
   (unrealized (0 4) (1 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -183,6 +193,7 @@
       (send (enc n-b k))))
   (label 5)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (origs (n-a (0 0)))
   (comment "Not closed under rules"))
 
@@ -199,6 +210,7 @@
   (label 6)
   (parent 5)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -222,6 +234,7 @@
   (label 7)
   (parent 6)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom-plus-uniq-at
diff --git a/tst/uniq-gen-test.tst b/tst/uniq-gen-test.tst
--- a/tst/uniq-gen-test.tst
+++ b/tst/uniq-gen-test.tst
@@ -1,7 +1,7 @@
 (herald "Unique generation test protocols."
   (comment "Skeletons 2, 4, and 7 should have no shapes."))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/uniq-gen-test.scm")
 
 (defprotocol uniqgentest basic
@@ -26,6 +26,7 @@
   (traces ((send (enc a k)) (recv (enc a a k))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((k k) (a a))))
   (origs)
   (ugens (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
@@ -61,6 +62,7 @@
   (parent 0)
   (unrealized (1 0))
   (dead)
+  (maps ((0) ((k k) (a a))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -87,6 +89,7 @@
   (traces ((send (enc a k)) (recv (enc a a k))))
   (label 3)
   (unrealized (0 1))
+  (maps ((0) ((k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -119,6 +122,7 @@
   (label 5)
   (parent 3)
   (unrealized (1 0))
+  (maps ((0) ((k k) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton uniqgentest
diff --git a/tst/uo.tst b/tst/uo.tst
--- a/tst/uo.tst
+++ b/tst/uo.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/uo.scm")
 
 (defprotocol uniq-orig basic
@@ -20,6 +20,7 @@
   (label 0)
   (unrealized (1 1))
   (preskeleton)
+  (maps ((0 1) ((n n) (m m))))
   (origs (n (0 0)))
   (comment "Not a skeleton"))
 
diff --git a/tst/wang-hash.tst b/tst/wang-hash.tst
--- a/tst/wang-hash.tst
+++ b/tst/wang-hash.tst
@@ -1,6 +1,6 @@
 (herald "Wang's Fair Exchange Protocol" (bound 10))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/wang-hash.scm")
 (comment "Strand count bounded at 10")
 
@@ -303,6 +303,7 @@
   (label 0)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -313,6 +314,7 @@
   (precedes ((0 0) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (traces
     ((send
        (cat (cat a b t (hash (enc m k)) (hash k)) (enc m k)
@@ -324,6 +326,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -335,6 +338,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation nonce-test (added-listener k) m (1 0) (enc m k))
   (strand-map 0 1)
   (traces
@@ -349,6 +353,7 @@
   (label 2)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wang
@@ -359,6 +364,7 @@
   (precedes ((1 1) (0 0)) ((2 2) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation nonce-test (displaced 0 3 init1 3) k (2 0)
     (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
       (pubk "encr" t)))
@@ -378,6 +384,7 @@
   (label 3)
   (parent 2)
   (realized)
+  (maps ((2 0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wang
@@ -390,6 +397,7 @@
   (precedes ((0 0) (3 0)) ((2 1) (1 0)) ((3 2) (2 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation nonce-test (added-strand ttp-rc1 3) k (2 0)
     (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
       (pubk "encr" t)))
@@ -432,6 +440,7 @@
   (label 4)
   (parent 2)
   (realized)
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wang
@@ -441,6 +450,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation generalization deleted (1 0))
   (strand-map 0 2)
   (traces ((recv m) (send m))
@@ -471,6 +481,7 @@
   (precedes ((0 0) (2 0)) ((2 2) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation generalization deleted (2 0))
   (strand-map 0 1 3)
   (traces
@@ -815,6 +826,7 @@
   (label 7)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -825,6 +837,7 @@
   (precedes ((0 0) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 2 to prove Lemma 4.1.")
   (traces
     ((send
        (cat (cat a b t (hash (enc m k)) (hash k)) (enc m k)
@@ -836,6 +849,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 0))
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -846,6 +860,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 2 to prove Lemma 4.1.")
   (operation nonce-test (displaced 0 2 init1 3) k (1 0)
     (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
       (pubk "encr" t)))
@@ -878,6 +893,7 @@
   (precedes ((0 0) (2 0)) ((2 2) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 2 to prove Lemma 4.1.")
   (operation nonce-test (added-strand ttp-rc1 3) k (1 0)
     (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
       (pubk "encr" t)))
@@ -1225,6 +1241,7 @@
             (pubk "encr" t)) (privk "sign" b))) (send (cat k r))))
   (label 11)
   (unrealized (0 1))
+  (maps ((0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -1234,6 +1251,7 @@
   (defstrand resp1 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "First of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp1 2)
     (enc "eortag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -1278,6 +1296,7 @@
         (pubk "encr" t))) (x (hash k)) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "First of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp3 2)
     (enc "eortag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -1623,6 +1642,7 @@
             (pubk "encr" t)) (privk "sign" b)))))
   (label 14)
   (unrealized (0 2))
+  (maps ((0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -1632,6 +1652,7 @@
   (defstrand resp1 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 2)))
   (non-orig (privk "sign" b))
+  (comment "Second of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp1 2)
     (enc "eortag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -1678,6 +1699,7 @@
         (pubk "encr" t))) (x (hash k)) (a a) (b b) (t t))
   (precedes ((1 1) (0 2)))
   (non-orig (privk "sign" b))
+  (comment "Second of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp3 2)
     (enc "eortag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -2029,6 +2051,7 @@
             (pubk "encr" t)) (privk "sign" b)))))
   (label 17)
   (unrealized (0 1) (0 3))
+  (maps ((0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -2038,6 +2061,7 @@
   (defstrand resp1 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "Third of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp1 2)
     (enc "eortag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -2088,6 +2112,7 @@
         (pubk "encr" t))) (x (hash k)) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "Third of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp3 2)
     (enc "eortag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -2437,6 +2462,7 @@
             (pubk "encr" t)) (privk "sign" b))) (recv (cat k r))))
   (label 20)
   (unrealized (0 0))
+  (maps ((0) ((a a) (t t) (m m) (r r) (k k) (b b))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2446,6 +2472,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "sign" a))
+  (comment "First of two experiments to prove Lemma 4.2, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -2798,6 +2825,7 @@
               (pubk "encr" t)) (privk "sign" b)))) (recv (cat k r))))
   (label 22)
   (unrealized (0 0))
+  (maps ((0) ((a a) (t t) (m m) (r r) (k k) (b b))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -2807,6 +2835,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "sign" a))
+  (comment "Second of two experiments to prove Lemma 4.2, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -3163,6 +3192,7 @@
           (privk "sign" t)))))
   (label 24)
   (unrealized (0 0) (0 3))
+  (maps ((0) ((a a) (t t) (b b) (e1 e1) (e2 e2) (x x))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -3175,6 +3205,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -3225,6 +3256,12 @@
   (label 25)
   (parent 24)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((a a) (t t) (b b) (e1 (enc m k))
+        (e2
+          (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
+            (pubk "encr" t))) (x (hash k)))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton wang
@@ -3237,6 +3274,7 @@
   (defstrand init3 2 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 1) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 3))
   (strand-map 0 1)
@@ -3312,6 +3350,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 1) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (displaced 1 2 init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 3))
   (strand-map 0 1)
@@ -3380,6 +3419,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 2) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (displaced 1 2 init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 3))
   (strand-map 0 1)
@@ -3453,6 +3493,7 @@
   (defstrand init5 3 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 2) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 3))
   (strand-map 0 1)
@@ -3822,6 +3863,7 @@
           (privk "sign" t)))))
   (label 30)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (t t) (y y) (x x))))
   (origs)
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -3833,6 +3875,7 @@
   (defstrand ttp-ab1 3 (y y) (x x) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "sign" t))
+  (comment "Experiments to prove Lemma 4.3, clause 1.")
   (operation encryption-test (added-strand ttp-ab1 3)
     (enc "abcf" (enc "abrq" a b t y x (privk "sign" a))
       (privk "sign" t)) (0 0))
@@ -3864,6 +3907,7 @@
   (defstrand ttp-rc2 3 (y y) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "sign" t))
+  (comment "Experiments to prove Lemma 4.3, clause 1.")
   (operation encryption-test (added-strand ttp-rc2 3)
     (enc "abcf" (enc "abrq" a b t y (hash k) (privk "sign" a))
       (privk "sign" t)) (0 0))
@@ -3908,6 +3952,7 @@
   (defstrand ttp-cf2 3 (y y) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "sign" t))
+  (comment "Experiments to prove Lemma 4.3, clause 1.")
   (operation encryption-test (added-strand ttp-cf2 3)
     (enc "abcf" (enc "abrq" a b t y (hash k) (privk "sign" a))
       (privk "sign" t)) (0 0))
@@ -4240,6 +4285,7 @@
           (privk "sign" t)))))
   (label 34)
   (unrealized (0 0))
+  (maps ((0) ((y y) (x x) (a a) (b b) (t t))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -4250,6 +4296,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 1 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 0))
   (strand-map 0)
@@ -4287,6 +4334,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 1 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 0))
   (strand-map 0)
@@ -4630,6 +4678,7 @@
           (privk "sign" t)))))
   (label 37)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((a a) (b b) (t t) (r r) (k k) (y y))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4640,6 +4689,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -4677,6 +4727,7 @@
   (label 38)
   (parent 37)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (t t) (r r) (k k) (y (hash (enc m k))))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton wang
@@ -4687,6 +4738,7 @@
   (defstrand init3 2 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -4742,6 +4794,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -4790,6 +4843,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -4843,6 +4897,7 @@
   (defstrand init5 3 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -5204,6 +5259,7 @@
           (privk "sign" t)))))
   (label 43)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((a a) (b b) (t t) (r r) (k k) (y y))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -5214,6 +5270,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag" (hash a b t (hash (enc m k)) (hash k))
       (enc "keytag" (hash a b t (hash (enc m k)) (hash k)) k r
@@ -5251,6 +5308,7 @@
   (label 44)
   (parent 43)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (t t) (r r) (k k) (y (hash (enc m k))))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton wang
@@ -5261,6 +5319,7 @@
   (defstrand init3 2 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -5316,6 +5375,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init3 2)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -5364,6 +5424,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
@@ -5417,6 +5478,7 @@
   (defstrand init5 3 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (hash (enc m k)) (hash k) (privk "sign" a)) (0 1))
   (strand-map 0 1)
diff --git a/tst/wang-key-hash.tst b/tst/wang-key-hash.tst
--- a/tst/wang-key-hash.tst
+++ b/tst/wang-key-hash.tst
@@ -1,6 +1,6 @@
 (herald "Wang's Fair Exchange Protocol" (bound 10))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/wang-key-hash.scm")
 (comment "Strand count bounded at 10")
 
@@ -526,6 +526,7 @@
   (label 0)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -536,6 +537,7 @@
   (precedes ((0 0) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (traces
     ((send
        (cat
@@ -557,6 +559,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -568,6 +571,7 @@
   (precedes ((0 0) (2 0)) ((2 1) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation nonce-test (added-listener k) m (1 0) (enc m k))
   (strand-map 0 1)
   (traces
@@ -591,6 +595,7 @@
   (label 2)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wang
@@ -601,6 +606,7 @@
   (precedes ((1 1) (0 0)) ((2 2) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation nonce-test (displaced 0 3 init1 3) k (2 0)
     (enc "keytag"
       (enc "h"
@@ -638,6 +644,7 @@
   (label 3)
   (parent 2)
   (realized)
+  (maps ((2 0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wang
@@ -650,6 +657,7 @@
   (precedes ((0 0) (3 0)) ((2 1) (1 0)) ((3 2) (2 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation nonce-test (added-strand ttp-rc1 3) k (2 0)
     (enc "keytag"
       (enc "h"
@@ -744,6 +752,7 @@
   (label 4)
   (parent 2)
   (realized)
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wang
@@ -753,6 +762,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation generalization deleted (1 0))
   (strand-map 0 2)
   (traces ((recv m) (send m))
@@ -799,6 +809,7 @@
   (precedes ((0 0) (2 0)) ((2 2) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 1 to prove Lemma 4.1.")
   (operation generalization deleted (2 0))
   (strand-map 0 1 3)
   (traces
@@ -1417,6 +1428,7 @@
   (label 7)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "Not a skeleton"))
 
@@ -1427,6 +1439,7 @@
   (precedes ((0 0) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 2 to prove Lemma 4.1.")
   (traces
     ((send
        (cat
@@ -1448,6 +1461,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 0))
+  (maps ((0 1) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs (m (0 0)) (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -1458,6 +1472,7 @@
   (precedes ((1 2) (0 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 2 to prove Lemma 4.1.")
   (operation nonce-test (displaced 0 2 init1 3) k (1 0)
     (enc "keytag"
       (enc "h"
@@ -1508,6 +1523,7 @@
   (precedes ((0 0) (2 0)) ((2 2) (1 0)))
   (non-orig (privk "encr" t))
   (uniq-orig m k)
+  (comment "Experiment 2 to prove Lemma 4.1.")
   (operation nonce-test (added-strand ttp-rc1 3) k (1 0)
     (enc "keytag"
       (enc "h"
@@ -2137,6 +2153,7 @@
           (privk "sign" b))) (send (cat k r))))
   (label 11)
   (unrealized (0 1))
+  (maps ((0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -2146,6 +2163,7 @@
   (defstrand resp1 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "First of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp1 2)
     (enc "eortag"
       (enc "h"
@@ -2231,6 +2249,7 @@
     (x (enc "h" (cat "h" k))) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "First of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp3 2)
     (enc "eortag"
       (enc "h"
@@ -2854,6 +2873,7 @@
           (privk "sign" b)))))
   (label 14)
   (unrealized (0 2))
+  (maps ((0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -2863,6 +2883,7 @@
   (defstrand resp1 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 2)))
   (non-orig (privk "sign" b))
+  (comment "Second of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp1 2)
     (enc "eortag"
       (enc "h"
@@ -2951,6 +2972,7 @@
     (x (enc "h" (cat "h" k))) (a a) (b b) (t t))
   (precedes ((1 1) (0 2)))
   (non-orig (privk "sign" b))
+  (comment "Second of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp3 2)
     (enc "eortag"
       (enc "h"
@@ -3587,6 +3609,7 @@
           (privk "sign" b)))))
   (label 17)
   (unrealized (0 1) (0 3))
+  (maps ((0) ((b b) (t t) (m m) (r r) (k k) (a a))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -3596,6 +3619,7 @@
   (defstrand resp1 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "Third of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp1 2)
     (enc "eortag"
       (enc "h"
@@ -3694,6 +3718,7 @@
     (x (enc "h" (cat "h" k))) (a a) (b b) (t t))
   (precedes ((1 1) (0 1)))
   (non-orig (privk "sign" b))
+  (comment "Third of three experiments to prove Lemma 4.2, clause 1.")
   (operation encryption-test (added-strand resp3 2)
     (enc "eortag"
       (enc "h"
@@ -4327,6 +4352,7 @@
           (privk "sign" b))) (recv (cat k r))))
   (label 20)
   (unrealized (0 0))
+  (maps ((0) ((a a) (t t) (m m) (r r) (k k) (b b))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4336,6 +4362,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "sign" a))
+  (comment "First of two experiments to prove Lemma 4.2, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag"
       (enc "h"
@@ -4980,6 +5007,7 @@
             (privk "sign" b)))) (recv (cat k r))))
   (label 22)
   (unrealized (0 0))
+  (maps ((0) ((a a) (t t) (m m) (r r) (k k) (b b))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -4989,6 +5017,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "sign" a))
+  (comment "Second of two experiments to prove Lemma 4.2, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag"
       (enc "h"
@@ -5633,6 +5662,7 @@
           (privk "sign" t)))))
   (label 24)
   (unrealized (0 0) (0 3))
+  (maps ((0) ((a a) (t t) (b b) (e1 e1) (e2 e2) (x x))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -5648,6 +5678,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag"
       (enc "h"
@@ -5761,6 +5792,15 @@
   (label 25)
   (parent 24)
   (unrealized (0 3))
+  (maps
+    ((0)
+      ((a a) (t t) (b b) (e1 (enc m k))
+        (e2
+          (enc "keytag"
+            (enc "h"
+              (cat "h" a b t (enc "h" (cat "h" (enc m k)))
+                (enc "h" (cat "h" k)))) k r (pubk "encr" t)))
+        (x (enc "h" (cat "h" k))))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton wang
@@ -5776,6 +5816,7 @@
   (defstrand init3 2 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 1) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 3))
@@ -5926,6 +5967,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 1) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (displaced 1 2 init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 3))
@@ -6059,6 +6101,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 2) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (displaced 1 2 init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 3))
@@ -6203,6 +6246,7 @@
   (defstrand init5 3 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 2) (0 3)))
   (non-orig (privk "sign" a))
+  (comment "Experiments to prove Lemma 4.2, clause 3.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 3))
@@ -6863,6 +6907,7 @@
           (privk "sign" t)))))
   (label 30)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (t t) (y y) (x x))))
   (origs)
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -6874,6 +6919,7 @@
   (defstrand ttp-ab1 3 (y y) (x x) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "sign" t))
+  (comment "Experiments to prove Lemma 4.3, clause 1.")
   (operation encryption-test (added-strand ttp-ab1 3)
     (enc "abcf" (enc "abrq" a b t y x (privk "sign" a))
       (privk "sign" t)) (0 0))
@@ -6906,6 +6952,7 @@
   (defstrand ttp-rc2 3 (y y) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "sign" t))
+  (comment "Experiments to prove Lemma 4.3, clause 1.")
   (operation encryption-test (added-strand ttp-rc2 3)
     (enc "abcf"
       (enc "abrq" a b t y (enc "h" (cat "h" k)) (privk "sign" a))
@@ -6959,6 +7006,7 @@
   (defstrand ttp-cf2 3 (y y) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "sign" t))
+  (comment "Experiments to prove Lemma 4.3, clause 1.")
   (operation encryption-test (added-strand ttp-cf2 3)
     (enc "abcf"
       (enc "abrq" a b t y (enc "h" (cat "h" k)) (privk "sign" a))
@@ -7512,6 +7560,7 @@
           (privk "sign" t)))))
   (label 34)
   (unrealized (0 0))
+  (maps ((0) ((y y) (x x) (a a) (b b) (t t))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -7522,6 +7571,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 1) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 1 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 0))
@@ -7575,6 +7625,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 2) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 1 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 0))
@@ -8158,6 +8209,7 @@
           (privk "sign" t)))))
   (label 37)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((a a) (b b) (t t) (r r) (k k) (y y))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -8168,6 +8220,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag"
       (enc "h"
@@ -8241,6 +8294,10 @@
   (label 38)
   (parent 37)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((a a) (b b) (t t) (r r) (k k)
+        (y (enc "h" (cat "h" (enc m k)))))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton wang
@@ -8251,6 +8308,7 @@
   (defstrand init3 2 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -8351,6 +8409,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -8434,6 +8493,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -8528,6 +8588,7 @@
   (defstrand init5 3 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 2 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -9158,6 +9219,7 @@
           (privk "sign" t)))))
   (label 43)
   (unrealized (0 0) (0 1))
+  (maps ((0) ((a a) (b b) (t t) (r r) (k k) (y y))))
   (origs)
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -9168,6 +9230,7 @@
   (defstrand init5 1 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 1)
     (enc "eootag"
       (enc "h"
@@ -9241,6 +9304,10 @@
   (label 44)
   (parent 43)
   (unrealized (0 1))
+  (maps
+    ((0)
+      ((a a) (b b) (t t) (r r) (k k)
+        (y (enc "h" (cat "h" (enc m k)))))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton wang
@@ -9251,6 +9318,7 @@
   (defstrand init3 2 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -9351,6 +9419,7 @@
   (defstrand init3 2 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 1) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init3 2)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -9434,6 +9503,7 @@
   (defstrand init5 3 (m m) (k k) (r r) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((1 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (displaced 1 2 init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
@@ -9528,6 +9598,7 @@
   (defstrand init5 3 (m m) (k k) (r r-0) (a a) (b b) (t t))
   (precedes ((1 0) (0 0)) ((2 2) (0 1)))
   (non-orig (privk "encr" t) (privk "sign" a))
+  (comment "Experiment 3 to prove Lemma 4.3, clause 2.")
   (operation encryption-test (added-strand init5 3)
     (enc "abrq" a b t (enc "h" (cat "h" (enc m k)))
       (enc "h" (cat "h" k)) (privk "sign" a)) (0 1))
diff --git a/tst/weird.tst b/tst/weird.tst
--- a/tst/weird.tst
+++ b/tst/weird.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/weird.scm")
 
 (defprotocol weird basic
@@ -45,6 +45,7 @@
   (traces ((send k)) ((recv (enc a k))))
   (label 1)
   (unrealized (1 0))
+  (maps ((0 1) ((k k) (a a))))
   (origs (k (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -78,6 +79,7 @@
   (label 3)
   (parent 1)
   (realized)
+  (maps ((0 1) ((k k) (a a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton weird
@@ -144,6 +146,7 @@
   (label 6)
   (realized)
   (dead)
+  (maps ((0 1) ((k k) (a a))))
   (origs)
   (ugens (k (1 0)) (k (0 0)))
   (comment "Input cannot be made into a skeleton--nothing to do"))
@@ -168,6 +171,7 @@
   (label 7)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((k k) (a a))))
   (origs)
   (ugens (k (0 0)))
   (comment "Not a skeleton"))
diff --git a/tst/wide-mouth-frog-scyther.tst b/tst/wide-mouth-frog-scyther.tst
--- a/tst/wide-mouth-frog-scyther.tst
+++ b/tst/wide-mouth-frog-scyther.tst
@@ -1,7 +1,7 @@
 (herald "Wide-Mouth Frog Protocol from Scyther" (bound 8)
   (comment "This protocol has an infinite number of shapes"))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/wide-mouth-frog-scyther.lsp")
 (comment "Strand count bounded at 8")
 
@@ -63,6 +63,7 @@
   (traces ((recv (enc t tb a k (ltk b t)))))
   (label 1)
   (unrealized (0 0))
+  (maps ((0) ((b b) (t t) (k k) (a a) (tb tb))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -135,6 +136,7 @@
       (send (enc t tb a k (ltk b t)))))
   (label 4)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -177,6 +179,7 @@
   (label 6)
   (parent 4)
   (unrealized (1 0))
+  (maps ((0) ((a t) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -224,6 +227,7 @@
   (label 8)
   (parent 6)
   (unrealized (2 0))
+  (maps ((0) ((a t) (b t) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -277,6 +281,7 @@
   (label 10)
   (parent 8)
   (unrealized (3 0))
+  (maps ((0) ((a t) (b t) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -336,6 +341,7 @@
   (label 12)
   (parent 10)
   (unrealized (4 0))
+  (maps ((0) ((a t) (b t) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -403,6 +409,7 @@
   (label 14)
   (parent 12)
   (unrealized (5 0))
+  (maps ((0) ((a t) (b t) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -476,6 +483,7 @@
   (label 16)
   (parent 14)
   (unrealized (6 0))
+  (maps ((0) ((a t) (b t) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -559,4 +567,5 @@
   (parent 16)
   (unrealized (7 0))
   (aborted)
+  (maps ((0) ((a t) (b t) (t t) (k k) (ta ta) (tb tb))))
   (comment "aborted"))
diff --git a/tst/wide-mouth-frog.tst b/tst/wide-mouth-frog.tst
--- a/tst/wide-mouth-frog.tst
+++ b/tst/wide-mouth-frog.tst
@@ -1,7 +1,7 @@
 (herald "Wide-Mouth Frog Protocol"
   (comment "This protocol has an infinite number of shapes") (bound 8))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/wide-mouth-frog.lsp")
 (comment "Strand count bounded at 8")
 
@@ -63,6 +63,7 @@
   (traces ((recv (enc tb a k (ltk b t)))))
   (label 1)
   (unrealized (0 0))
+  (maps ((0) ((b b) (t t) (k k) (a a) (tb tb))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -135,6 +136,7 @@
       (send (enc tb a k (ltk b t)))))
   (label 4)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (origs)
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -177,6 +179,7 @@
   (label 6)
   (parent 4)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -224,6 +227,7 @@
   (label 8)
   (parent 6)
   (unrealized (2 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -277,6 +281,7 @@
   (label 10)
   (parent 8)
   (unrealized (3 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -336,6 +341,7 @@
   (label 12)
   (parent 10)
   (unrealized (4 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -403,6 +409,7 @@
   (label 14)
   (parent 12)
   (unrealized (5 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -477,6 +484,7 @@
   (label 16)
   (parent 14)
   (unrealized (6 0))
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wide-mouth-frog
@@ -561,4 +569,5 @@
   (parent 16)
   (unrealized (7 0))
   (aborted)
+  (maps ((0) ((a a) (b b) (t t) (k k) (ta ta) (tb tb))))
   (comment "aborted"))
diff --git a/tst/wonthull.tst b/tst/wonthull.tst
--- a/tst/wonthull.tst
+++ b/tst/wonthull.tst
@@ -1,6 +1,6 @@
 (herald wonthull (bound 9))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/wonthull.scm")
 (comment "Strand count bounded at 9")
 
@@ -32,6 +32,7 @@
       (recv (enc "okay" x3 x4 (pubk a)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
   (origs (x3 (0 0)) (x2 (0 0)) (x1 (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -49,6 +50,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
   (origs (x1 (0 0)) (x2 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -75,6 +77,7 @@
         (enc "okay" y3 x3 (pubk a)) (enc x3 x2 (pubk a)))
       (strand-map 0 1)))
   (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
   (comment "2 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull
@@ -94,6 +97,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull
@@ -138,6 +142,7 @@
   (seen-ops
     (4 (operation generalization separated y3-0) (strand-map 0 1)))
   (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 y3) (x3 y3) (x4 y3))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull
@@ -159,8 +164,15 @@
     ((recv (enc x2 x2 (pubk a))) (send (enc "okay" x2 x2 (pubk a)))))
   (label 6)
   (parent 3)
+  (seen 5)
+  (seen-ops
+    (5
+      (operation nonce-test (contracted (x2 y3) (x4 y3)) y3 (0 1)
+        (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 1)))
   (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
+  (comment "2 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull
   (vars (x1 x2 y3 text) (a name))
@@ -185,6 +197,7 @@
   (seen-ops
     (5 (operation generalization deleted (1 0)) (strand-map 0 2)))
   (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x2))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/wonthull2.tst b/tst/wonthull2.tst
--- a/tst/wonthull2.tst
+++ b/tst/wonthull2.tst
@@ -1,11554 +1,12801 @@
 (herald wonthull2 (bound 9))
 
-(comment "CPSA 4.4.5")
-(comment "All input read from tst/wonthull2.scm")
-(comment "Strand count bounded at 9")
-
-(defprotocol wonthull2 basic
-  (defrole init
-    (vars (a name) (x1 x2 x3 x4 text))
-    (trace (send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
-      (recv (enc "okay" x3 x4 (pubk a))))
-    (non-orig (privk a))
-    (uniq-orig x3))
-  (defrole resp
-    (vars (a name) (y1 y2 y3 text))
-    (trace (recv (enc y1 y2 (pubk a)))
-      (send (enc "okay" y3 y1 (pubk a)))))
-  (defgenrule neqRl_indx
-    (forall ((x indx)) (implies (fact neq x x) (false))))
-  (defgenrule neqRl_strd
-    (forall ((x strd)) (implies (fact neq x x) (false))))
-  (defgenrule neqRl_mesg
-    (forall ((x mesg)) (implies (fact neq x x) (false)))))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x3 x4 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x3) (x4 x4) (a a))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
-      (recv (enc "okay" x3 x4 (pubk a)))))
-  (label 0)
-  (unrealized (0 1))
-  (origs (x3 (0 0)))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x3 x4 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x3) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x2) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (0 1)
-    (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a)))
-  (strand-map 0)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
-      (recv (enc "okay" x3 x4 (pubk a))))
-    ((recv (enc x3 x2 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 1)
-  (parent 0)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x4 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
-  (strand-map 0)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x4 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 2)
-  (parent 0)
-  (seen 5)
-  (seen-ops
-    (5
-      (operation nonce-test (added-strand resp 2) x1 (0 1)
-        (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a))
-        (enc x1 x2 (pubk a))) (strand-map 0 1)))
-  (unrealized (0 1))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x2) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x3 y3) (x4 y3)) y3 (0 1)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x2 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x2 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 3)
-  (parent 1)
-  (realized)
-  (shape)
-  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 y3) (x4 y3))))
-  (origs (y3 (0 0))))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x3 x4 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x3) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x2) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (0 1)
-    (enc "okay" y3 x3 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x3 x2 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
-      (recv (enc "okay" x3 x4 (pubk a))))
-    ((recv (enc x3 x2 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x2 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 4)
-  (parent 1)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x4 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a))
-    (enc x1 x2 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x4 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 5)
-  (parent 1)
-  (seen 10)
-  (seen-ops
-    (10
-      (operation nonce-test (added-strand resp 2) x1 (0 1)
-        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (0 1))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x2 y3 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x1 y3) (x4 y3)) y3 (0 1)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x2 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x2 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 6)
-  (parent 2)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x4 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a))
-    (enc x1 x2 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x4 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 7)
-  (parent 2)
-  (seen 13)
-  (seen-ops
-    (13
-      (operation nonce-test (added-strand resp 2) x1 (0 1)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (0 1))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x3 x1) (x4 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 8)
-  (parent 4)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x2) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x3 y3) (x4 y3)) y3 (0 1)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x2 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x2 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 9)
-  (parent 4)
-  (seen 3)
-  (seen-ops
-    (3 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x4 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x4 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 10)
-  (parent 4)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x2 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x2) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (x1 y3-0) (x4 y3-0)) y3-0 (0 1)
-    (enc "okay" y3 y3-0 (pubk a)) (enc "okay" y3-0 y3-0 (pubk a))
-    (enc y3-0 x2 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x2 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x2 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 11)
-  (parent 5)
-  (seen 6)
-  (seen-ops
-    (6 (operation generalization deleted (1 0)) (strand-map 0 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x2 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x1 y3) (x4 y3)) y3 (0 1)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x2 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x2 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 12)
-  (parent 5)
-  (seen 16)
-  (seen-ops
-    (16 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 x4 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x4 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 13)
-  (parent 5)
-  (unrealized (0 1))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x2 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3-0) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3 y3-0)
-  (operation generalization separated y3-0)
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x2 (pubk a))))
-      (recv (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 14)
-  (parent 6)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x4 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 15)
-  (parent 7)
-  (seen 6)
-  (seen-ops
-    (6 (operation generalization deleted (1 0)) (strand-map 0 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (1 0))
-  (strand-map 0 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 16)
-  (parent 8)
-  (seen 3)
-  (seen-ops
-    (3 (operation generalization separated x1-0) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x4 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a))
-    (enc x1 x2 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 17)
-  (parent 10)
-  (seen 12)
-  (seen-ops
-    (12 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x2 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x4 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a))
-    (enc x1 x2 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 18)
-  (parent 13)
-  (seen 15)
-  (seen-ops
-    (15 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x2 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3-0) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation generalization forgot y3)
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x2 (pubk a))))
-      (recv (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 19)
-  (parent 14)
-  (realized)
-  (shape)
-  (maps ((0) ((a a) (x1 y3) (x2 x2) (x3 y3-0) (x4 y3))))
-  (origs (y3-0 (0 0))))
-
-(comment "Nothing left to do")
-
-(defprotocol wonthull2 basic
-  (defrole init
-    (vars (a name) (x1 x2 x3 x4 text))
-    (trace (send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
-      (recv (enc "okay" x3 x4 (pubk a))))
-    (non-orig (privk a))
-    (uniq-orig x3))
-  (defrole resp
-    (vars (a name) (y1 y2 y3 text))
-    (trace (recv (enc y1 y2 (pubk a)))
-      (send (enc "okay" y3 y1 (pubk a)))))
-  (defgenrule neqRl_indx
-    (forall ((x indx)) (implies (fact neq x x) (false))))
-  (defgenrule neqRl_strd
-    (forall ((x strd)) (implies (fact neq x x) (false))))
-  (defgenrule neqRl_mesg
-    (forall ((x mesg)) (implies (fact neq x x) (false)))))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 x3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3-0)
-  (traces
-    ((send (cat (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a))))
-      (recv (enc "okay" x3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0)))
-      (send (enc "okay" x3 x1 (pubk a-0)))))
-  (label 20)
-  (unrealized (0 1))
-  (origs (x3-0 (0 0)))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 text) (a name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 2 1 resp 2) x3-0 (0 1)
-    (enc x1-0 x3-0 (pubk a-0)) (enc x3-0 x3 (pubk a-0)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1-0 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a)))))
-  (label 21)
-  (parent 20)
-  (unrealized (0 1))
-  (origs (x1 (0 0)))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 2 1 resp 2) x3-0 (0 1)
-    (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0)))
-      (send (enc "okay" x3 x1 (pubk a-0)))))
-  (label 22)
-  (parent 20)
-  (seen 25)
-  (seen-ops
-    (25
-      (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-        (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a))) (strand-map 0 1)))
-  (unrealized (1 0))
-  (origs (x3 (0 0)))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 x3-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3-0) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3-0)
-  (operation nonce-test (added-strand resp 2) x3-0 (0 1)
-    (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a))))
-      (recv (enc "okay" x3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3-0 x3 (pubk a)))
-      (send (enc "okay" y3 x3-0 (pubk a)))))
-  (label 23)
-  (parent 20)
-  (seen 27)
-  (seen-ops
-    (27
-      (operation nonce-test (displaced 3 1 resp 2) x3-0 (0 1)
-        (enc "okay" y3 x3-0 (pubk a-0)) (enc x1-0 x3-0 (pubk a-0))
-        (enc x3-0 x3 (pubk a-0))) (strand-map 0 1 2)))
-  (unrealized (0 1))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a)))))
-  (label 24)
-  (parent 20)
-  (seen 26 33)
-  (seen-ops
-    (26
-      (operation nonce-test (displaced 3 1 resp 2) x1-0 (0 1)
-        (enc "okay" y3 x1-0 (pubk a-0)) (enc x1-0 x3 (pubk a-0))
-        (enc x1-0 x1-0 (pubk a-0))) (strand-map 0 1 2))
-    (33
-      (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-        (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (0 1))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 2 1 resp 2) x1-0 (0 1)
-    (enc "okay" x3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1 x1-0 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 25)
-  (parent 21)
-  (realized)
-  (shape)
-  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
-  (origs (x3 (0 0))))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 26)
-  (parent 21)
-  (unrealized (0 1))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1-0 x1 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1-0 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 27)
-  (parent 21)
-  (seen 40)
-  (seen-ops
-    (40
-      (operation nonce-test (added-strand resp 2) x1 (0 1)
-        (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (0 1))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a)))))
-  (label 28)
-  (parent 22)
-  (realized)
-  (shape)
-  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
-  (origs (x3 (0 0))))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 29)
-  (parent 22)
-  (unrealized (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 x3-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3-0) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3-0)
-  (operation nonce-test (added-strand resp 2) x3-0 (0 1)
-    (enc "okay" y3 x3-0 (pubk a)) (enc x1-0 x3-0 (pubk a))
-    (enc x3-0 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a))))
-      (recv (enc "okay" x3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3-0 x3 (pubk a))) (send (enc "okay" y3 x3-0 (pubk a))))
-    ((recv (enc x3-0 x3 (pubk a)))
-      (send (enc "okay" x1-0 x3-0 (pubk a)))))
-  (label 30)
-  (parent 23)
-  (seen 42)
-  (seen-ops
-    (42
-      (operation nonce-test (displaced 4 1 resp 2) x3-0 (0 1)
-        (enc "okay" x1-0 x3-0 (pubk a-0))
-        (enc "okay" y3 x3-0 (pubk a-0)) (enc x1-0 x3-0 (pubk a-0))
-        (enc x3-0 x3 (pubk a-0))) (strand-map 0 1 2 3)))
-  (unrealized (0 1))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x1-0 y3) (x3-0 y3)) y3 (0 1)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 31)
-  (parent 23)
-  (seen 43)
-  (seen-ops
-    (43
-      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 3 1 resp 2) x3-0 (0 1)
-    (enc "okay" y3 x3-0 (pubk a)) (enc x1-0 x3-0 (pubk a))
-    (enc x3-0 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 32)
-  (parent 23)
-  (seen 29 41)
-  (seen-ops
-    (29
-      (operation nonce-test (displaced 3 2 resp 2) x3 (1 0)
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a))) (strand-map 0 1 2))
-    (41
-      (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-        (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1-0 x3 (pubk a))) (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a)))))
-  (label 33)
-  (parent 23)
-  (seen 36 40 51)
-  (seen-ops
-    (36
-      (operation nonce-test (displaced 4 3 resp 2) x1-0 (0 1)
-        (enc "okay" y3 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
-        (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 2))
-    (40
-      (operation nonce-test (displaced 4 1 resp 2) x1-0 (0 1)
-        (enc "okay" y3 x1-0 (pubk a-0))
-        (enc "okay" y3-0 x1-0 (pubk a-0)) (enc x1-0 x3 (pubk a-0))
-        (enc x1-0 x1-0 (pubk a-0))) (strand-map 0 1 2 3))
-    (51
-      (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-        (enc "okay" y3 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
-        (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (0 1))
-  (comment "6 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 34)
-  (parent 24)
-  (seen 57)
-  (seen-ops
-    (57
-      (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-        (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (0 1))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x1 y3) (x1-0 y3)) y3 (0 1)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 35)
-  (parent 24)
-  (seen 37)
-  (seen-ops
-    (37
-      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (displaced 3 2 resp 2) x1-0 (0 1)
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a)))))
-  (label 36)
-  (parent 24)
-  (seen 39)
-  (seen-ops
-    (39
-      (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 3 2 resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 37)
-  (parent 26)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 38)
-  (parent 26)
-  (seen 37)
-  (seen-ops
-    (37 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 3 2 resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 39)
-  (parent 26)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 40)
-  (parent 26)
-  (seen 39)
-  (seen-ops
-    (39
-      (operation nonce-test (displaced 4 2 resp 2) x1 (0 1)
-        (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2)))
-  (unrealized (0 1))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 3 1 resp 2) x1-0 (0 1)
-    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-    (enc x1-0 x3 (pubk a)) (enc x1 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 41)
-  (parent 27)
-  (seen 25)
-  (seen-ops
-    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1-0 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1-0 x1 (pubk a)))))
-  (label 42)
-  (parent 27)
-  (unrealized (0 1))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 3 2 resp 2) x1-0 (0 1)
-    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-    (enc x1-0 x3 (pubk a)) (enc x1 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 43)
-  (parent 27)
-  (realized)
-  (shape)
-  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
-  (origs (y3 (0 0))))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 44)
-  (parent 29)
-  (seen 28)
-  (seen-ops
-    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 45)
-  (parent 29)
-  (seen 25)
-  (seen-ops
-    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 46)
-  (parent 29)
-  (unrealized (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 47)
-  (parent 29)
-  (seen 78)
-  (seen-ops
-    (78
-      (operation nonce-test (added-strand resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x1-0 y3) (x3-0 y3)) y3 (0 1)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 48)
-  (parent 30)
-  (seen 54 74)
-  (seen-ops
-    (54
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a))) (strand-map 0 1 2 2))
-    (74
-      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (x3-0 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 49)
-  (parent 30)
-  (seen 75)
-  (seen-ops
-    (75
-      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 4 1 resp 2) x3-0 (0 1)
-    (enc "okay" x1-0 x3-0 (pubk a)) (enc "okay" y3 x3-0 (pubk a))
-    (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 50)
-  (parent 30)
-  (seen 73)
-  (seen-ops
-    (73
-      (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-        (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-    (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1-0 x3 (pubk a))) (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x3 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a)))))
-  (label 51)
-  (parent 30)
-  (seen 61)
-  (seen-ops
-    (61
-      (operation nonce-test (displaced 5 4 resp 2) x1-0 (0 1)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 3 2)))
-  (unrealized (0 1))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 3 2 resp 2) y3 (1 0)
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 52)
-  (parent 31)
-  (unrealized (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 53)
-  (parent 31)
-  (seen 94)
-  (seen-ops
-    (94
-      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 54)
-  (parent 31)
-  (seen 95 98)
-  (seen-ops
-    (95
-      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
-        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))
-    (98
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
-  (label 55)
-  (parent 32)
-  (seen 28)
-  (seen-ops
-    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
-  (label 56)
-  (parent 32)
-  (seen 29)
-  (seen-ops
-    (29
-      (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
-        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 2)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
-    (enc "okay" y3 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
-    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1-0 x3 (pubk a))) (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 57)
-  (parent 33)
-  (seen 61)
-  (seen-ops
-    (61
-      (operation nonce-test (displaced 5 4 resp 2) x1-0 (0 1)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 2 3)))
-  (unrealized (0 1))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (x1 y3-0) (x1-0 y3-0)) y3-0 (0 1)
-    (enc "okay" y3 y3-0 (pubk a)) (enc "okay" y3-0 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 58)
-  (parent 33)
-  (seen 64 71)
-  (seen-ops
-    (64
-      (operation nonce-test (displaced 4 2 resp 2) y3-0 (1 0)
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3))
-    (71
-      (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (x1 y3) (x1-0 y3)) y3 (0 1)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 59)
-  (parent 33)
-  (seen 54 72)
-  (seen-ops
-    (54
-      (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))
-    (72
-      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 60)
-  (parent 34)
-  (seen 38 63)
-  (seen-ops
-    (38
-      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))
-    (63
-      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (displaced 4 3 resp 2) x1-0 (0 1)
-    (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
-    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 61)
-  (parent 34)
-  (unrealized (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 3 2 resp 2) y3 (1 0)
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 62)
-  (parent 35)
-  (unrealized (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 63)
-  (parent 35)
-  (seen 120)
-  (seen-ops
-    (120
-      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 64)
-  (parent 35)
-  (seen 121 124)
-  (seen-ops
-    (121
-      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))
-    (124
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (displaced 3 2 resp 2) x1-0 (1 0)
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a)))))
-  (label 65)
-  (parent 36)
-  (unrealized (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a)))))
-  (label 66)
-  (parent 36)
-  (seen 65)
-  (seen-ops
-    (65
-      (operation nonce-test (displaced 4 2 resp 2) x1-0 (1 0)
-        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3-0) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation generalization separated y3-0)
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 67)
-  (parent 37)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 68)
-  (parent 39)
-  (seen 25)
-  (seen-ops
-    (25 (operation generalization separated x1-0) (strand-map 0 1)))
-  (realized)
-  (origs (x1 (0 0)))
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 69)
-  (parent 40)
-  (seen 75)
-  (seen-ops
-    (75 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 70)
-  (parent 40)
-  (seen 71)
-  (seen-ops
-    (71 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 4 2 resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 71)
-  (parent 40)
-  (seen 37)
-  (seen-ops
-    (37 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (displaced 4 3 resp 2) x1 (0 1)
-    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 72)
-  (parent 40)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 4 1 resp 2) x1-0 (0 1)
-    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" x1 x1-0 (pubk a))
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 73)
-  (parent 42)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 4 2 resp 2) x1-0 (0 1)
-    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" x1 x1-0 (pubk a))
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 74)
-  (parent 42)
-  (seen 43)
-  (seen-ops
-    (43 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 4 3 resp 2) x1-0 (0 1)
-    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" x1 x1-0 (pubk a))
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
-    (enc x1 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 75)
-  (parent 42)
-  (seen 132)
-  (seen-ops
-    (132 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 76)
-  (parent 46)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 77)
-  (parent 46)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 78)
-  (parent 46)
-  (unrealized (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 79)
-  (parent 47)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 80)
-  (parent 47)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 81)
-  (parent 48)
-  (unrealized (1 0))
-  (comment "4 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 82)
-  (parent 48)
-  (seen 96 140 143)
-  (seen-ops
-    (96
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" x1 y3 (pubk a)) (enc x1 y3 (pubk a))
-        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3))
-    (140
-      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
-        (enc "okay" x1 y3 (pubk a)) (enc x1 y3 (pubk a))
-        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3))
-    (143
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 83)
-  (parent 48)
-  (seen 96 98 142)
-  (seen-ops
-    (96
-      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3 4))
-    (98
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3))
-    (142
-      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 84)
-  (parent 49)
-  (seen 98)
-  (seen-ops
-    (98
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 85)
-  (parent 49)
-  (seen 98)
-  (seen-ops
-    (98
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 4 3 resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 86)
-  (parent 49)
-  (seen 149 153)
-  (seen-ops
-    (149
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))
-    (153
-      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 87)
-  (parent 49)
-  (seen 85 150 155)
-  (seen-ops
-    (85
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2))
-    (150
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
-    (155
-      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 88)
-  (parent 50)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 89)
-  (parent 50)
-  (seen 46)
-  (seen-ops
-    (46
-      (operation nonce-test (displaced 4 3 resp 2) x3 (1 0)
-        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (displaced 4 3 resp 2) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 90)
-  (parent 50)
-  (seen 46 103)
-  (seen-ops
-    (46
-      (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
-        (enc "okay" x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3))
-    (103
-      (operation nonce-test (added-strand resp 2) x3 (1 0)
-        (enc "okay" x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
-  (label 91)
-  (parent 50)
-  (seen 89 103)
-  (seen-ops
-    (89
-      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
-        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 2))
-    (103
-      (operation nonce-test (displaced 5 3 resp 2) x3 (1 0)
-        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 92)
-  (parent 51)
-  (seen 69 84 111)
-  (seen-ops
-    (69
-      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (84
-      (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (111
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 93)
-  (parent 52)
-  (seen 43)
-  (seen-ops
-    (43 (operation generalization weakened ((2 1) (1 0)))
-      (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 94)
-  (parent 52)
-  (unrealized (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 95)
-  (parent 52)
-  (seen 174)
-  (seen-ops
-    (174
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 96)
-  (parent 53)
-  (seen 173)
-  (seen-ops
-    (173
-      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
-        (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 97)
-  (parent 53)
-  (seen 43)
-  (seen-ops
-    (43 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 98)
-  (parent 53)
-  (seen 174 177)
-  (seen-ops
-    (174
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (177
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 99)
-  (parent 54)
-  (seen 178)
-  (seen-ops
-    (178
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 100)
-  (parent 54)
-  (seen 132)
-  (seen-ops
-    (132 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
-  (label 101)
-  (parent 56)
-  (seen 44)
-  (seen-ops
-    (44 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
-  (label 102)
-  (parent 56)
-  (seen 45)
-  (seen-ops
-    (45 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 103)
-  (parent 56)
-  (seen 46)
-  (seen-ops
-    (46
-      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
-        (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 104)
-  (parent 56)
-  (seen 47 183)
-  (seen-ops
-    (47
-      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 2 3))
-    (183
-      (operation nonce-test (added-strand resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1)) x1 (0 1)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 105)
-  (parent 57)
-  (seen 70 107 114)
-  (seen-ops
-    (70
-      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (107
-      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (114
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (displaced 4 3 resp 2) y3-0 (1 0)
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 106)
-  (parent 58)
-  (seen 121)
-  (seen-ops
-    (121
-      (operation nonce-test (displaced 4 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 107)
-  (parent 58)
-  (seen 124 189)
-  (seen-ops
-    (124
-      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4))
-    (189
-      (operation nonce-test (displaced 5 3 resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 108)
-  (parent 58)
-  (seen 64 191 194)
-  (seen-ops
-    (64
-      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 2))
-    (191
-      (operation nonce-test (displaced 5 3 resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4))
-    (194
-      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 109)
-  (parent 59)
-  (seen 54)
-  (seen-ops
-    (54
-      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 110)
-  (parent 59)
-  (seen 95 199)
-  (seen-ops
-    (95
-      (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))
-    (199
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 111)
-  (parent 59)
-  (seen 98 200 202)
-  (seen-ops
-    (98
-      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4))
-    (200
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4))
-    (202
-      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 4 3 resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 112)
-  (parent 60)
-  (seen 120)
-  (seen-ops
-    (120
-      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 113)
-  (parent 60)
-  (seen 63 206)
-  (seen-ops
-    (63
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2))
-    (206
-      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 114)
-  (parent 60)
-  (seen 124 207 210)
-  (seen-ops
-    (124
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
-    (207
-      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
-    (210
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (displaced 4 2 resp 2) x1-0 (1 0)
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 115)
-  (parent 61)
-  (seen 128)
-  (seen-ops
-    (128
-      (operation nonce-test (displaced 4 3 resp 2) x1-0 (1 0)
-        (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 116)
-  (parent 61)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (displaced 4 3 resp 2) x1-0 (1 0)
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 117)
-  (parent 61)
-  (seen 128 130)
-  (seen-ops
-    (128
-      (operation nonce-test (displaced 4 2 resp 2) x1-0 (1 0)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3))
-    (130
-      (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-    (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a)))))
-  (label 118)
-  (parent 61)
-  (seen 115 130)
-  (seen-ops
-    (115
-      (operation nonce-test (displaced 5 2 resp 2) x1-0 (1 0)
-        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3 2))
-    (130
-      (operation nonce-test (displaced 5 3 resp 2) x1-0 (1 0)
-        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 119)
-  (parent 62)
-  (seen 37)
-  (seen-ops
-    (37 (operation generalization weakened ((2 1) (1 0)))
-      (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 120)
-  (parent 62)
-  (unrealized (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 121)
-  (parent 62)
-  (seen 220)
-  (seen-ops
-    (220
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 122)
-  (parent 63)
-  (unrealized (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 123)
-  (parent 63)
-  (seen 37)
-  (seen-ops
-    (37 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 124)
-  (parent 63)
-  (seen 220 223)
-  (seen-ops
-    (220
-      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (223
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 125)
-  (parent 64)
-  (seen 225)
-  (seen-ops
-    (225
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 126)
-  (parent 64)
-  (seen 37)
-  (seen-ops
-    (37 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 127)
-  (parent 65)
-  (seen 68)
-  (seen-ops
-    (68 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 128)
-  (parent 65)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 129)
-  (parent 66)
-  (seen 127)
-  (seen-ops
-    (127 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-    (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 130)
-  (parent 66)
-  (seen 128)
-  (seen-ops
-    (128
-      (operation nonce-test (displaced 5 2 resp 2) x1-0 (1 0)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
-        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 2 3)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3-0) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a) (privk a-0))
-  (uniq-orig y3-0)
-  (operation generalization separated a-0)
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 131)
-  (parent 67)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 132)
-  (parent 72)
-  (seen 43)
-  (seen-ops
-    (43 (operation generalization separated y3-0) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 133)
-  (parent 73)
-  (seen 25)
-  (seen-ops
-    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 134)
-  (parent 76)
-  (seen 25)
-  (seen-ops
-    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 135)
-  (parent 77)
-  (seen 28)
-  (seen-ops
-    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 136)
-  (parent 78)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 137)
-  (parent 78)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 138)
-  (parent 79)
-  (seen 25)
-  (seen-ops
-    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 139)
-  (parent 80)
-  (seen 28)
-  (seen-ops
-    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 140)
-  (parent 81)
-  (seen 95 173)
-  (seen-ops
-    (95
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2))
-    (173
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
-        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 141)
-  (parent 81)
-  (seen 93)
-  (seen-ops
-    (93 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 142)
-  (parent 81)
-  (seen 173 177)
-  (seen-ops
-    (173
-      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (177
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 143)
-  (parent 81)
-  (seen 177)
-  (seen-ops
-    (177
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" x1 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 144)
-  (parent 82)
-  (seen 43)
-  (seen-ops
-    (43 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 145)
-  (parent 83)
-  (seen 177 233)
-  (seen-ops
-    (177
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 2 3 4))
-    (233
-      (operation nonce-test (displaced 6 2 resp 2) y3 (1 0)
-        (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 146)
-  (parent 83)
-  (seen 97)
-  (seen-ops
-    (97 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 147)
-  (parent 84)
-  (seen 178)
-  (seen-ops
-    (178
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 148)
-  (parent 84)
-  (seen 100)
-  (seen-ops
-    (100 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 149)
-  (parent 84)
-  (seen 174)
-  (seen-ops
-    (174
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 150)
-  (parent 84)
-  (seen 98 238 240)
-  (seen-ops
-    (98
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 2))
-    (238
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (240
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 151)
-  (parent 85)
-  (seen 177)
-  (seen-ops
-    (177
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 152)
-  (parent 85)
-  (seen 132)
-  (seen-ops
-    (132 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 4 3 resp 2) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 153)
-  (parent 85)
-  (seen 174)
-  (seen-ops
-    (174
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 154)
-  (parent 86)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 155)
-  (parent 86)
-  (seen 153 240)
-  (seen-ops
-    (153
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 2))
-    (240
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 156)
-  (parent 87)
-  (seen 151 242)
-  (seen-ops
-    (151
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 2 4))
-    (242
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 157)
-  (parent 87)
-  (seen 152)
-  (seen-ops
-    (152 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 158)
-  (parent 88)
-  (seen 28)
-  (seen-ops
-    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 159)
-  (parent 89)
-  (seen 158)
-  (seen-ops
-    (158 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 160)
-  (parent 89)
-  (seen 133)
-  (seen-ops
-    (133 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 161)
-  (parent 89)
-  (unrealized (1 0))
-  (comment "3 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 162)
-  (parent 89)
-  (seen 78 250)
-  (seen-ops
-    (78
-      (operation nonce-test (displaced 5 3 resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (250
-      (operation nonce-test (added-strand resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 163)
-  (parent 90)
-  (seen 135)
-  (seen-ops
-    (135 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 164)
-  (parent 90)
-  (seen 134)
-  (seen-ops
-    (134 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
-  (label 165)
-  (parent 91)
-  (seen 161)
-  (seen-ops
-    (161
-      (operation nonce-test (displaced 6 2 resp 2) x3 (1 0)
-        (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 2 4)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
-  (label 166)
-  (parent 91)
-  (seen 159)
-  (seen-ops
-    (159 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
-  (label 167)
-  (parent 91)
-  (seen 160)
-  (seen-ops
-    (160 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 168)
-  (parent 91)
-  (seen 162 183 255)
-  (seen-ops
-    (162
-      (operation nonce-test (displaced 6 2 resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 2 4))
-    (183
-      (operation nonce-test (displaced 6 3 resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (255
-      (operation nonce-test (added-strand resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 169)
-  (parent 92)
-  (seen 84 200)
-  (seen-ops
-    (84
-      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4))
-    (200
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 4 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 170)
-  (parent 92)
-  (seen 149 202 260)
-  (seen-ops
-    (149
-      (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
-    (202
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
-    (260
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 171)
-  (parent 92)
-  (seen 111 150 261 263)
-  (seen-ops
-    (111
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))
-    (150
-      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
-    (261
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
-    (263
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 172)
-  (parent 94)
-  (seen 93)
-  (seen-ops
-    (93 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 173)
-  (parent 94)
-  (seen 174)
-  (seen-ops
-    (174
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 2)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 174)
-  (parent 94)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 175)
-  (parent 95)
-  (seen 245)
-  (seen-ops
-    (245 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 176)
-  (parent 96)
-  (seen 144)
-  (seen-ops
-    (144 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 177)
-  (parent 96)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 178)
-  (parent 98)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 179)
-  (parent 98)
-  (seen 100)
-  (seen-ops
-    (100 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 180)
-  (parent 99)
-  (seen 219)
-  (seen-ops
-    (219 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 181)
-  (parent 103)
-  (seen 77)
-  (seen-ops
-    (77 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 182)
-  (parent 103)
-  (seen 76)
-  (seen-ops
-    (76 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 183)
-  (parent 103)
-  (seen 78)
-  (seen-ops
-    (78
-      (operation nonce-test (displaced 6 2 resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" x1-0 x3 (pubk a))
-        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 184)
-  (parent 104)
-  (seen 80)
-  (seen-ops
-    (80 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 185)
-  (parent 104)
-  (seen 79)
-  (seen-ops
-    (79 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 186)
-  (parent 105)
-  (seen 189 207)
-  (seen-ops
-    (189
-      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
-    (207
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 187)
-  (parent 105)
-  (seen 107 210 273)
-  (seen-ops
-    (107
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3))
-    (210
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
-    (273
-      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 3 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 188)
-  (parent 105)
-  (seen 114 194 274 277)
-  (seen-ops
-    (114
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))
-    (194
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
-    (274
-      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
-    (277
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 189)
-  (parent 106)
-  (seen 220)
-  (seen-ops
-    (220
-      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 190)
-  (parent 106)
-  (seen 119)
-  (seen-ops
-    (119 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 191)
-  (parent 106)
-  (seen 121 281)
-  (seen-ops
-    (121
-      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 2))
-    (281
-      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 192)
-  (parent 107)
-  (seen 223)
-  (seen-ops
-    (223
-      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 193)
-  (parent 107)
-  (seen 123)
-  (seen-ops
-    (123 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a)))))
-  (label 194)
-  (parent 107)
-  (seen 124 281 284)
-  (seen-ops
-    (124
-      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4 2))
-    (281
-      (operation nonce-test (displaced 6 3 resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (284
-      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 195)
-  (parent 108)
-  (seen 125 286)
-  (seen-ops
-    (125
-      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 2 4))
-    (286
-      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 196)
-  (parent 108)
-  (seen 126)
-  (seen-ops
-    (126 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 197)
-  (parent 109)
-  (seen 99)
-  (seen-ops
-    (99
-      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 198)
-  (parent 109)
-  (seen 100)
-  (seen-ops
-    (100 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 199)
-  (parent 109)
-  (seen 95)
-  (seen-ops
-    (95
-      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 3)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
-  (label 200)
-  (parent 109)
-  (seen 98 289 291)
-  (seen-ops
-    (98
-      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
-        (enc "okay" y3-2 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 3 4))
-    (289
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (291
-      (operation nonce-test (displaced 6 2 resp 2) y3 (1 0)
-        (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 201)
-  (parent 110)
-  (seen 245)
-  (seen-ops
-    (245 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 202)
-  (parent 110)
-  (seen 174 291)
-  (seen-ops
-    (174
-      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (291
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 203)
-  (parent 111)
-  (seen 177 293)
-  (seen-ops
-    (177
-      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (293
-      (operation nonce-test (added-strand resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 204)
-  (parent 111)
-  (seen 152)
-  (seen-ops
-    (152 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 205)
-  (parent 112)
-  (seen 119)
-  (seen-ops
-    (119 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 206)
-  (parent 112)
-  (seen 120)
-  (seen-ops
-    (120
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 207)
-  (parent 112)
-  (seen 220 297)
-  (seen-ops
-    (220
-      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4))
-    (297
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 208)
-  (parent 113)
-  (seen 122)
-  (seen-ops
-    (122
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 2 4)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 209)
-  (parent 113)
-  (seen 123)
-  (seen-ops
-    (123 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 210)
-  (parent 113)
-  (seen 124 297 300)
-  (seen-ops
-    (124
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 2 4))
-    (297
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (300
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "5 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 211)
-  (parent 114)
-  (seen 225 302)
-  (seen-ops
-    (225
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (302
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 212)
-  (parent 114)
-  (seen 126)
-  (seen-ops
-    (126 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 213)
-  (parent 115)
-  (seen 215)
-  (seen-ops
-    (215 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 214)
-  (parent 115)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 215)
-  (parent 116)
-  (seen 68)
-  (seen-ops
-    (68 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 216)
-  (parent 117)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1-0)
-  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
-    (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
-      (recv (enc "okay" x1-0 x1 (pubk a))))
-    ((recv (enc x1 x1-0 (pubk a-0)))
-      (send (enc "okay" x1-0 x1 (pubk a-0))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" y3-0 x1-0 (pubk a))))
-    ((recv (enc x1-0 x1-0 (pubk a)))
-      (send (enc "okay" x1-0 x1-0 (pubk a)))))
-  (label 217)
-  (parent 118)
-  (seen 214)
-  (seen-ops
-    (214
-      (operation nonce-test (displaced 6 2 resp 2) x1-0 (1 0)
-        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
-        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 3 2 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 218)
-  (parent 118)
-  (seen 213)
-  (seen-ops
-    (213 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 219)
-  (parent 120)
-  (seen 119)
-  (seen-ops
-    (119 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 220)
-  (parent 120)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 221)
-  (parent 121)
-  (seen 119)
-  (seen-ops
-    (119 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 222)
-  (parent 122)
-  (seen 219)
-  (seen-ops
-    (219 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 223)
-  (parent 122)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 224)
-  (parent 124)
-  (seen 126)
-  (seen-ops
-    (126 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 225)
-  (parent 124)
-  (unrealized (1 0))
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 226)
-  (parent 125)
-  (seen 244)
-  (seen-ops
-    (244 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 227)
-  (parent 128)
-  (seen 305)
-  (seen-ops
-    (305 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 228)
-  (parent 130)
-  (seen 227)
-  (seen-ops
-    (227 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3-0) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation generalization forgot (privk a-0))
-  (strand-map 0 1 2)
-  (traces
-    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 229)
-  (parent 131)
-  (realized)
-  (shape)
-  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3-0) (a-0 a-0))))
-  (origs (y3-0 (0 0))))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 230)
-  (parent 136)
-  (seen 138)
-  (seen-ops
-    (138 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 231)
-  (parent 137)
-  (seen 139)
-  (seen-ops
-    (139 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 232)
-  (parent 140)
-  (seen 93)
-  (seen-ops
-    (93 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 233)
-  (parent 142)
-  (seen 177)
-  (seen-ops
-    (177
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 2)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
-  (label 234)
-  (parent 142)
-  (seen 172)
-  (seen-ops
-    (172 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
-  (label 235)
-  (parent 143)
-  (seen 100)
-  (seen-ops
-    (100 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 236)
-  (parent 145)
-  (seen 176)
-  (seen-ops
-    (176 (operation generalization deleted (3 0))
-      (strand-map 0 1 2 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 237)
-  (parent 147)
-  (seen 180)
-  (seen-ops
-    (180 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 238)
-  (parent 147)
-  (seen 178)
-  (seen-ops
-    (178
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 239)
-  (parent 149)
-  (seen 175)
-  (seen-ops
-    (175 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 240)
-  (parent 149)
-  (seen 174)
-  (seen-ops
-    (174
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 241)
-  (parent 150)
-  (seen 179)
-  (seen-ops
-    (179 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 242)
-  (parent 150)
-  (seen 177)
-  (seen-ops
-    (177
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2 5)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 243)
-  (parent 151)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 244)
-  (parent 153)
-  (seen 245)
-  (seen-ops
-    (245 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 245)
-  (parent 154)
-  (seen 132)
-  (seen-ops
-    (132 (operation generalization weakened ((2 1) (1 0)))
-      (strand-map 0 1 2)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 246)
-  (parent 155)
-  (seen 244)
-  (seen-ops
-    (244 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 247)
-  (parent 156)
-  (seen 243)
-  (seen-ops
-    (243 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 248)
-  (parent 161)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 249)
-  (parent 161)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 250)
-  (parent 161)
-  (unrealized (1 0))
-  (comment "2 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 251)
-  (parent 162)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 252)
-  (parent 162)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 253)
-  (parent 165)
-  (seen 249)
-  (seen-ops
-    (249 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 254)
-  (parent 165)
-  (seen 248)
-  (seen-ops
-    (248 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
-  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (added-strand resp 2) x3 (1 0)
-    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 255)
-  (parent 165)
-  (seen 250)
-  (seen-ops
-    (250
-      (operation nonce-test (displaced 7 2 resp 2) x3 (1 0)
-        (enc "okay" x3 x3 (pubk a)) (enc "okay" x1-0 x3 (pubk a))
-        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 2 4 5)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 256)
-  (parent 168)
-  (seen 251)
-  (seen-ops
-    (251 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
-    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 257)
-  (parent 168)
-  (seen 252)
-  (seen-ops
-    (252 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 258)
-  (parent 169)
-  (seen 147 289)
-  (seen-ops
-    (147
-      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 4 5))
-    (289
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 259)
-  (parent 169)
-  (seen 198)
-  (seen-ops
-    (198 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 260)
-  (parent 169)
-  (seen 149 291)
-  (seen-ops
-    (149
-      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 4))
-    (291
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 261)
-  (parent 169)
-  (seen 150 200 324 326)
-  (seen-ops
-    (150
-      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
-        (enc "okay" y3-2 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 4 5))
-    (200
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 2))
-    (324
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6))
-    (326
-      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 262)
-  (parent 170)
-  (seen 201)
-  (seen-ops
-    (201 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 263)
-  (parent 170)
-  (seen 202 240 326)
-  (seen-ops
-    (202
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 2))
-    (240
-      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (326
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 264)
-  (parent 171)
-  (seen 203 242 327)
-  (seen-ops
-    (203
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 2 5))
-    (242
-      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6))
-    (327
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 265)
-  (parent 171)
-  (seen 204)
-  (seen-ops
-    (204 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
-    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 266)
-  (parent 173)
-  (seen 232)
-  (seen-ops
-    (232 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 267)
-  (parent 174)
-  (seen 175)
-  (seen-ops
-    (175 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 268)
-  (parent 177)
-  (seen 267)
-  (seen-ops
-    (267 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 269)
-  (parent 178)
-  (seen 307)
-  (seen-ops
-    (307 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 270)
-  (parent 183)
-  (seen 136)
-  (seen-ops
-    (136 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 271)
-  (parent 183)
-  (seen 137)
-  (seen-ops
-    (137 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 272)
-  (parent 186)
-  (seen 205)
-  (seen-ops
-    (205 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 273)
-  (parent 186)
-  (seen 189 297)
-  (seen-ops
-    (189
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 3))
-    (297
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 274)
-  (parent 186)
-  (seen 207 281 332)
-  (seen-ops
-    (207
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 2))
-    (281
-      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5))
-    (332
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 275)
-  (parent 187)
-  (seen 192 300)
-  (seen-ops
-    (192
-      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 3 5))
-    (300
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 276)
-  (parent 187)
-  (seen 209)
-  (seen-ops
-    (209 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 277)
-  (parent 187)
-  (seen 194 210 332 335)
-  (seen-ops
-    (194
-      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
-        (enc "okay" y3-2 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 3 5))
-    (210
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 2))
-    (332
-      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6))
-    (335
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6)))
-  (unrealized (1 0))
-  (comment "6 in cohort - 2 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 278)
-  (parent 188)
-  (seen 211 286 336)
-  (seen-ops
-    (211
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 2 5))
-    (286
-      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6))
-    (336
-      (operation nonce-test (added-strand resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-      (strand-map 0 1 2 3 4 5 6)))
-  (unrealized (1 0))
-  (comment "4 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 279)
-  (parent 188)
-  (seen 212)
-  (seen-ops
-    (212 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 280)
-  (parent 189)
-  (seen 219)
-  (seen-ops
-    (219 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a)))))
-  (label 281)
-  (parent 189)
-  (seen 220)
-  (seen-ops
-    (220
-      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 2)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a)))))
-  (label 282)
-  (parent 191)
-  (seen 221)
-  (seen-ops
-    (221 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 283)
-  (parent 192)
-  (seen 222)
-  (seen-ops
-    (222 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a)))))
-  (label 284)
-  (parent 192)
-  (seen 223)
-  (seen-ops
-    (223
-      (operation nonce-test (displaced 7 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 5 2)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a)))))
-  (label 285)
-  (parent 194)
-  (seen 224)
-  (seen-ops
-    (224 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
-    (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a-0)))
-      (send (enc "okay" x3 y3-0 (pubk a-0))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 286)
-  (parent 194)
-  (seen 225)
-  (seen-ops
-    (225
-      (operation nonce-test (displaced 7 2 resp 2) y3-0 (1 0)
-        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 2 5)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 287)
-  (parent 195)
-  (seen 226)
-  (seen-ops
-    (226 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 288)
-  (parent 197)
-  (seen 296)
-  (seen-ops
-    (296 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
-  (label 289)
-  (parent 197)
-  (seen 178)
-  (seen-ops
-    (178
-      (operation nonce-test (displaced 7 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4 5)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 290)
-  (parent 199)
-  (seen 175)
-  (seen-ops
-    (175 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
-  (label 291)
-  (parent 199)
-  (seen 174)
-  (seen-ops
-    (174
-      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
-  (label 292)
-  (parent 200)
-  (seen 179)
-  (seen-ops
-    (179 (operation generalization deleted (3 0))
-      (strand-map 0 1 2 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (added-strand resp 2) y3 (1 0)
-    (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 293)
-  (parent 200)
-  (seen 177)
-  (seen-ops
-    (177
-      (operation nonce-test (displaced 7 3 resp 2) y3 (1 0)
-        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
-        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4 5)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 294)
-  (parent 202)
-  (seen 244)
-  (seen-ops
-    (244 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 295)
-  (parent 203)
-  (seen 294)
-  (seen-ops
-    (294 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 296)
-  (parent 206)
-  (seen 219)
-  (seen-ops
-    (219 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 297)
-  (parent 206)
-  (seen 220)
-  (seen-ops
-    (220
-      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
-  (label 298)
-  (parent 207)
-  (seen 221)
-  (seen-ops
-    (221 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 299)
-  (parent 208)
-  (seen 222)
-  (seen-ops
-    (222 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 300)
-  (parent 208)
-  (seen 223)
-  (seen-ops
-    (223
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 5)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 301)
-  (parent 210)
-  (seen 224)
-  (seen-ops
-    (224 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 302)
-  (parent 210)
-  (seen 225)
-  (seen-ops
-    (225
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 5)))
-  (unrealized (1 0))
-  (comment "2 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 303)
-  (parent 211)
-  (seen 226)
-  (seen-ops
-    (226 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 304)
-  (parent 214)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 305)
-  (parent 216)
-  (seen 68)
-  (seen-ops
-    (68 (operation generalization deleted (2 0)) (strand-map 0 1)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 306)
-  (parent 217)
-  (seen 304)
-  (seen-ops
-    (304 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 307)
-  (parent 220)
-  (seen 221)
-  (seen-ops
-    (221 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
-  (label 308)
-  (parent 223)
-  (seen 307)
-  (seen-ops
-    (307 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
-    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 309)
-  (parent 225)
-  (seen 267)
-  (seen-ops
-    (267 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
-    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
-    (enc y3 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
-  (label 310)
-  (parent 233)
-  (seen 266)
-  (seen-ops
-    (266 (operation generalization deleted (3 0))
-      (strand-map 0 1 2 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 311)
-  (parent 238)
-  (seen 269)
-  (seen-ops
-    (269 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 312)
-  (parent 240)
-  (seen 267)
-  (seen-ops
-    (267 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 313)
-  (parent 242)
-  (seen 268)
-  (seen-ops
-    (268 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 314)
-  (parent 243)
-  (seen 245)
-  (seen-ops
-    (245 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 315)
-  (parent 248)
-  (seen 134)
-  (seen-ops
-    (134 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
-  (label 316)
-  (parent 249)
-  (seen 135)
-  (seen-ops
-    (135 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 317)
-  (parent 250)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 318)
-  (parent 250)
-  (realized)
-  (comment "1 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 319)
-  (parent 251)
-  (seen 139)
-  (seen-ops
-    (139 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 320)
-  (parent 252)
-  (seen 138)
-  (seen-ops
-    (138 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 321)
-  (parent 255)
-  (seen 317)
-  (seen-ops
-    (317 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
-    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
-    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
-    (enc x1 x3 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 322)
-  (parent 255)
-  (seen 318)
-  (seen-ops
-    (318 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 323)
-  (parent 258)
-  (seen 288)
-  (seen-ops
-    (288 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 324)
-  (parent 258)
-  (seen 238 289)
-  (seen-ops
-    (238
-      (operation nonce-test (displaced 8 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5 6))
-    (289
-      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 6 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 325)
-  (parent 260)
-  (seen 290)
-  (seen-ops
-    (290 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 326)
-  (parent 260)
-  (seen 240 291)
-  (seen-ops
-    (240
-      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5))
-    (291
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 327)
-  (parent 261)
-  (seen 242 293)
-  (seen-ops
-    (242
-      (operation nonce-test (displaced 8 4 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5 6))
-    (293
-      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2 6)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 328)
-  (parent 261)
-  (seen 292)
-  (seen-ops
-    (292 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 329)
-  (parent 263)
-  (seen 294)
-  (seen-ops
-    (294 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 330)
-  (parent 264)
-  (seen 295)
-  (seen-ops
-    (295 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 331)
-  (parent 273)
-  (seen 296)
-  (seen-ops
-    (296 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 332)
-  (parent 273)
-  (seen 281 297)
-  (seen-ops
-    (281
-      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5))
-    (297
-      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 333)
-  (parent 274)
-  (seen 298)
-  (seen-ops
-    (298 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 334)
-  (parent 275)
-  (seen 299)
-  (seen-ops
-    (299 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 335)
-  (parent 275)
-  (seen 284 300)
-  (seen-ops
-    (284
-      (operation nonce-test (displaced 8 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5 6))
-    (300
-      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 6 2)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (added-strand resp 2) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 336)
-  (parent 277)
-  (seen 286 302)
-  (seen-ops
-    (286
-      (operation nonce-test (displaced 8 3 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5 6))
-    (302
-      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
-        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2 6)))
-  (unrealized (1 0))
-  (comment "3 in cohort - 1 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 337)
-  (parent 277)
-  (seen 301)
-  (seen-ops
-    (301 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 338)
-  (parent 278)
-  (seen 303)
-  (seen-ops
-    (303 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a)))))
-  (label 339)
-  (parent 281)
-  (seen 307)
-  (seen-ops
-    (307 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a)))))
-  (label 340)
-  (parent 284)
-  (seen 308)
-  (seen-ops
-    (308 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3-0)
-  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
-    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
-    (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
-    (enc y3-0 y3-0 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
-      (recv (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a))))
-    ((recv (enc y3-0 y3-0 (pubk a)))
-      (send (enc "okay" y3-1 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-2 y3-0 (pubk a))))
-    ((recv (enc y3-0 x3 (pubk a)))
-      (send (enc "okay" y3-0 y3-0 (pubk a)))))
-  (label 341)
-  (parent 286)
-  (seen 309)
-  (seen-ops
-    (309 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
-  (label 342)
-  (parent 289)
-  (seen 345)
-  (seen-ops
-    (345 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
-  (label 343)
-  (parent 291)
-  (seen 267)
-  (seen-ops
-    (267 (operation generalization deleted (3 0))
-      (strand-map 0 1 2 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig y3)
-  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
-    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
-    (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
-    (enc y3 y3 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
-      (recv (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
-    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a))))
-    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
-  (label 344)
-  (parent 293)
-  (seen 343)
-  (seen-ops
-    (343 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
-    ((5 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 345)
-  (parent 297)
-  (seen 307)
-  (seen-ops
-    (307 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
-  (label 346)
-  (parent 300)
-  (seen 308)
-  (seen-ops
-    (308 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
-    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 347)
-  (parent 302)
-  (seen 309)
-  (seen-ops
-    (309 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 348)
-  (parent 304)
-  (seen 305)
-  (seen-ops
-    (305 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 349)
-  (parent 317)
-  (seen 230)
-  (seen-ops
-    (230 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
-    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x3)
-  (operation generalization deleted (2 0))
-  (strand-map 0 1 3 4 5)
-  (traces
-    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
-      (recv (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
-    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
-  (label 350)
-  (parent 318)
-  (seen 231)
-  (seen-ops
-    (231 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6 7)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 351)
-  (parent 324)
-  (seen 342)
-  (seen-ops
-    (342 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6 7)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0))
-    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 352)
-  (parent 326)
-  (seen 343)
-  (seen-ops
-    (343 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6 7)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 353)
-  (parent 327)
-  (seen 344)
-  (seen-ops
-    (344 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6 7)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
-    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 354)
-  (parent 332)
-  (seen 345)
-  (seen-ops
-    (345 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6 7)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
-  (label 355)
-  (parent 335)
-  (seen 346)
-  (seen-ops
-    (346 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6 7)))
-  (realized)
-  (comment "1 in cohort - 0 not yet seen"))
-
-(defskeleton wonthull2
-  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
-  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
-  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
-  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
-    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
-    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
-    ((7 1) (1 0)))
-  (non-orig (privk a))
-  (uniq-orig x1)
-  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
-    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
-    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
-    (enc x1 x1 (pubk a)))
-  (strand-map 0 1 2 3 4 5 6 7)
-  (traces
-    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
-      (recv (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
-    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
-    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
-  (label 356)
-  (parent 336)
-  (seen 347)
-  (seen-ops
-    (347 (operation generalization deleted (2 0))
-      (strand-map 0 1 3 4 5 6 7)))
-  (realized)
+(comment "CPSA 4.4.7")
+(comment "All input read from tst/wonthull2.scm")
+(comment "Strand count bounded at 9")
+
+(defprotocol wonthull2 basic
+  (defrole init
+    (vars (a name) (x1 x2 x3 x4 text))
+    (trace (send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
+      (recv (enc "okay" x3 x4 (pubk a))))
+    (non-orig (privk a))
+    (uniq-orig x3))
+  (defrole resp
+    (vars (a name) (y1 y2 y3 text))
+    (trace (recv (enc y1 y2 (pubk a)))
+      (send (enc "okay" y3 y1 (pubk a)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x3 x4 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x3) (x4 x4) (a a))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
+      (recv (enc "okay" x3 x4 (pubk a)))))
+  (label 0)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
+  (origs (x3 (0 0)))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x3 x4 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x3) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x2) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (0 1)
+    (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a)))
+  (strand-map 0)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
+      (recv (enc "okay" x3 x4 (pubk a))))
+    ((recv (enc x3 x2 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 1)
+  (parent 0)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x4 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
+  (strand-map 0)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x4 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 2)
+  (parent 0)
+  (seen 5)
+  (seen-ops
+    (5
+      (operation nonce-test (added-strand resp 2) x1 (0 1)
+        (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a))
+        (enc x1 x2 (pubk a))) (strand-map 0 1)))
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x4))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x2) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x3 y3) (x4 y3)) y3 (0 1)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x2 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x2 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 3)
+  (parent 1)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 y3) (x4 y3))))
+  (origs (y3 (0 0))))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x3 x4 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x3) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x2) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (0 1)
+    (enc "okay" y3 x3 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x3 x2 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
+      (recv (enc "okay" x3 x4 (pubk a))))
+    ((recv (enc x3 x2 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x2 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 4)
+  (parent 1)
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x4 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a))
+    (enc x1 x2 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x4 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 5)
+  (parent 1)
+  (seen 10)
+  (seen-ops
+    (10
+      (operation nonce-test (added-strand resp 2) x1 (0 1)
+        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x4))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x2 y3 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1 y3) (x4 y3)) y3 (0 1)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x2 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x2 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 6)
+  (parent 2)
+  (realized)
+  (maps ((0) ((a a) (x1 y3) (x2 x2) (x3 y3) (x4 y3))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x4 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a))
+    (enc x1 x2 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x4 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 7)
+  (parent 2)
+  (seen 6 13)
+  (seen-ops
+    (6
+      (operation nonce-test (contracted (x1 y3) (x4 y3)) y3 (0 1)
+        (enc "okay" y3 y3 (pubk a)) (enc y3 x2 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 1))
+    (13
+      (operation nonce-test (added-strand resp 2) x1 (0 1)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x4))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x3 x1) (x4 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 8)
+  (parent 4)
+  (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x1))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x2) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x3 y3) (x4 y3)) y3 (0 1)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x2 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 9)
+  (parent 4)
+  (seen 3)
+  (seen-ops
+    (3 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 y3) (x4 y3))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x4 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x4 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 10)
+  (parent 4)
+  (seen 12)
+  (seen-ops
+    (12
+      (operation nonce-test (contracted (x1 y3) (x4 y3)) y3 (0 1)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc y3 x2 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 1 2)))
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x4))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x2 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x2) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (x1 y3-0) (x4 y3-0)) y3-0 (0 1)
+    (enc "okay" y3 y3-0 (pubk a)) (enc "okay" y3-0 y3-0 (pubk a))
+    (enc y3-0 x2 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x2 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x2 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 11)
+  (parent 5)
+  (seen 6)
+  (seen-ops
+    (6 (operation generalization deleted (1 0)) (strand-map 0 2)))
+  (realized)
+  (maps ((0) ((a a) (x1 y3-0) (x2 x2) (x3 y3-0) (x4 y3-0))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x2 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1 y3) (x4 y3)) y3 (0 1)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x2 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x2 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x2 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 12)
+  (parent 5)
+  (seen 16)
+  (seen-ops
+    (16 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0) ((a a) (x1 y3) (x2 x2) (x3 y3) (x4 y3))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 x4 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x4) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x4 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 13)
+  (parent 5)
+  (seen 11)
+  (seen-ops
+    (11
+      (operation nonce-test (contracted (x1 y3-0) (x4 y3-0)) y3-0 (0 1)
+        (enc "okay" y3 y3-0 (pubk a)) (enc "okay" y3-0 y3-0 (pubk a))
+        (enc y3-0 x2 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 2)))
+  (unrealized (0 1))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x4))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x2 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3-0) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3 y3-0)
+  (operation generalization separated y3-0)
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x2 (pubk a))))
+      (recv (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 14)
+  (parent 6)
+  (realized)
+  (maps ((0) ((a a) (x1 y3) (x2 x2) (x3 y3-0) (x4 y3))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x4 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 15)
+  (parent 7)
+  (seen 6)
+  (seen-ops
+    (6 (operation generalization deleted (1 0)) (strand-map 0 2)))
+  (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x1))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation generalization deleted (1 0))
+  (strand-map 0 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 16)
+  (parent 8)
+  (seen 3)
+  (seen-ops
+    (3 (operation generalization separated x1-0) (strand-map 0 1)))
+  (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x1))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x4 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a))
+    (enc x1 x2 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 17)
+  (parent 10)
+  (seen 12)
+  (seen-ops
+    (12 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
+  (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x1))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x2 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x2) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x2) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x4 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a))
+    (enc x1 x2 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x2 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x2 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 18)
+  (parent 13)
+  (seen 15)
+  (seen-ops
+    (15 (operation generalization deleted (1 0)) (strand-map 0 2 3)))
+  (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x1) (x4 x1))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x2 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x2) (x3 y3-0) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation generalization forgot y3)
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x2 (pubk a))))
+      (recv (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 19)
+  (parent 14)
+  (realized)
+  (shape)
+  (maps ((0) ((a a) (x1 y3) (x2 x2) (x3 y3-0) (x4 y3))))
+  (origs (y3-0 (0 0))))
+
+(comment "Nothing left to do")
+
+(defprotocol wonthull2 basic
+  (defrole init
+    (vars (a name) (x1 x2 x3 x4 text))
+    (trace (send (cat (enc x1 x3 (pubk a)) (enc x3 x2 (pubk a))))
+      (recv (enc "okay" x3 x4 (pubk a))))
+    (non-orig (privk a))
+    (uniq-orig x3))
+  (defrole resp
+    (vars (a name) (y1 y2 y3 text))
+    (trace (recv (enc y1 y2 (pubk a)))
+      (send (enc "okay" y3 y1 (pubk a)))))
+  (defgenrule neqRl_indx
+    (forall ((x indx)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_strd
+    (forall ((x strd)) (implies (fact neq x x) (false))))
+  (defgenrule neqRl_mesg
+    (forall ((x mesg)) (implies (fact neq x x) (false)))))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 x3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3-0)
+  (traces
+    ((send (cat (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a))))
+      (recv (enc "okay" x3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0)))
+      (send (enc "okay" x3 x1 (pubk a-0)))))
+  (label 20)
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
+  (origs (x3-0 (0 0)))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 text) (a name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 2 1 resp 2) x3-0 (0 1)
+    (enc x1-0 x3-0 (pubk a-0)) (enc x3-0 x3 (pubk a-0)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1-0 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a)))))
+  (label 21)
+  (parent 20)
+  (unrealized (0 1))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
+  (origs (x1 (0 0)))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 2 1 resp 2) x3-0 (0 1)
+    (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0)))
+      (send (enc "okay" x3 x1 (pubk a-0)))))
+  (label 22)
+  (parent 20)
+  (seen 25)
+  (seen-ops
+    (25
+      (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+        (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a))) (strand-map 0 1)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (origs (x3 (0 0)))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 x3-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3-0) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3-0)
+  (operation nonce-test (added-strand resp 2) x3-0 (0 1)
+    (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a))))
+      (recv (enc "okay" x3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3-0 x3 (pubk a)))
+      (send (enc "okay" y3 x3-0 (pubk a)))))
+  (label 23)
+  (parent 20)
+  (seen 27)
+  (seen-ops
+    (27
+      (operation nonce-test (displaced 3 1 resp 2) x3-0 (0 1)
+        (enc "okay" y3 x3-0 (pubk a-0)) (enc x1-0 x3-0 (pubk a-0))
+        (enc x3-0 x3 (pubk a-0))) (strand-map 0 1 2)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a)))))
+  (label 24)
+  (parent 20)
+  (seen 26 33)
+  (seen-ops
+    (26
+      (operation nonce-test (displaced 3 1 resp 2) x1-0 (0 1)
+        (enc "okay" y3 x1-0 (pubk a-0)) (enc x1-0 x3 (pubk a-0))
+        (enc x1-0 x1-0 (pubk a-0))) (strand-map 0 1 2))
+    (33
+      (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+        (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "5 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 2 1 resp 2) x1-0 (0 1)
+    (enc "okay" x3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1 x1-0 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 25)
+  (parent 21)
+  (realized)
+  (shape)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (origs (x3 (0 0))))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 26)
+  (parent 21)
+  (unrealized (0 1))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1-0 x1 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1-0 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 27)
+  (parent 21)
+  (seen 40)
+  (seen-ops
+    (40
+      (operation nonce-test (added-strand resp 2) x1 (0 1)
+        (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (0 1))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a)))))
+  (label 28)
+  (parent 22)
+  (realized)
+  (shape)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (origs (x3 (0 0))))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 29)
+  (parent 22)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 x3-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3-0) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3-0)
+  (operation nonce-test (added-strand resp 2) x3-0 (0 1)
+    (enc "okay" y3 x3-0 (pubk a)) (enc x1-0 x3-0 (pubk a))
+    (enc x3-0 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a))))
+      (recv (enc "okay" x3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3-0 x3 (pubk a))) (send (enc "okay" y3 x3-0 (pubk a))))
+    ((recv (enc x3-0 x3 (pubk a)))
+      (send (enc "okay" x1-0 x3-0 (pubk a)))))
+  (label 30)
+  (parent 23)
+  (seen 42)
+  (seen-ops
+    (42
+      (operation nonce-test (displaced 4 1 resp 2) x3-0 (0 1)
+        (enc "okay" x1-0 x3-0 (pubk a-0))
+        (enc "okay" y3 x3-0 (pubk a-0)) (enc x1-0 x3-0 (pubk a-0))
+        (enc x3-0 x3 (pubk a-0))) (strand-map 0 1 2 3)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1-0 y3) (x3-0 y3)) y3 (0 1)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 31)
+  (parent 23)
+  (seen 43)
+  (seen-ops
+    (43
+      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 3 1 resp 2) x3-0 (0 1)
+    (enc "okay" y3 x3-0 (pubk a)) (enc x1-0 x3-0 (pubk a))
+    (enc x3-0 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 32)
+  (parent 23)
+  (seen 29 41)
+  (seen-ops
+    (29
+      (operation nonce-test (displaced 3 2 resp 2) x3 (1 0)
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a))) (strand-map 0 1 2))
+    (41
+      (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+        (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1-0 x3 (pubk a))) (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a)))))
+  (label 33)
+  (parent 23)
+  (seen 36 40 51)
+  (seen-ops
+    (36
+      (operation nonce-test (displaced 4 3 resp 2) x1-0 (0 1)
+        (enc "okay" y3 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+        (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 2))
+    (40
+      (operation nonce-test (displaced 4 1 resp 2) x1-0 (0 1)
+        (enc "okay" y3 x1-0 (pubk a-0))
+        (enc "okay" y3-0 x1-0 (pubk a-0)) (enc x1-0 x3 (pubk a-0))
+        (enc x1-0 x1-0 (pubk a-0))) (strand-map 0 1 2 3))
+    (51
+      (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+        (enc "okay" y3 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+        (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "6 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 34)
+  (parent 24)
+  (seen 35 57)
+  (seen-ops
+    (35
+      (operation nonce-test (contracted (x1 y3) (x1-0 y3)) y3 (0 1)
+        (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 2))
+    (57
+      (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+        (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "5 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1 y3) (x1-0 y3)) y3 (0 1)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 35)
+  (parent 24)
+  (seen 37)
+  (seen-ops
+    (37
+      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (displaced 3 2 resp 2) x1-0 (0 1)
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a)))))
+  (label 36)
+  (parent 24)
+  (seen 39)
+  (seen-ops
+    (39
+      (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 3 2 resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 37)
+  (parent 26)
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 38)
+  (parent 26)
+  (seen 37)
+  (seen-ops
+    (37 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 3 2 resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 39)
+  (parent 26)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 40)
+  (parent 26)
+  (seen 39)
+  (seen-ops
+    (39
+      (operation nonce-test (displaced 4 2 resp 2) x1 (0 1)
+        (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2)))
+  (unrealized (0 1))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 3 1 resp 2) x1-0 (0 1)
+    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+    (enc x1-0 x3 (pubk a)) (enc x1 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 41)
+  (parent 27)
+  (seen 25)
+  (seen-ops
+    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1-0 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1-0 x1 (pubk a)))))
+  (label 42)
+  (parent 27)
+  (unrealized (0 1))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 3 2 resp 2) x1-0 (0 1)
+    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+    (enc x1-0 x3 (pubk a)) (enc x1 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 43)
+  (parent 27)
+  (realized)
+  (shape)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (origs (y3 (0 0))))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 44)
+  (parent 29)
+  (seen 28)
+  (seen-ops
+    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 45)
+  (parent 29)
+  (seen 25)
+  (seen-ops
+    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 46)
+  (parent 29)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 47)
+  (parent 29)
+  (seen 79)
+  (seen-ops
+    (79
+      (operation nonce-test (added-strand resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1-0 y3) (x3-0 y3)) y3 (0 1)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 48)
+  (parent 30)
+  (seen 54 75)
+  (seen-ops
+    (54
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a))) (strand-map 0 1 2 2))
+    (75
+      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "6 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (x3-0 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 49)
+  (parent 30)
+  (seen 76)
+  (seen-ops
+    (76
+      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 4 1 resp 2) x3-0 (0 1)
+    (enc "okay" x1-0 x3-0 (pubk a)) (enc "okay" y3 x3-0 (pubk a))
+    (enc x1-0 x3-0 (pubk a)) (enc x3-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 50)
+  (parent 30)
+  (seen 74)
+  (seen-ops
+    (74
+      (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+        (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+    (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1-0 x3 (pubk a))) (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x3 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a)))))
+  (label 51)
+  (parent 30)
+  (seen 59 62)
+  (seen-ops
+    (59
+      (operation nonce-test (contracted (x1 y3) (x1-0 y3)) y3 (0 1)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 2 3))
+    (62
+      (operation nonce-test (displaced 5 4 resp 2) x1-0 (0 1)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 3 2)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 3 2 resp 2) y3 (1 0)
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 52)
+  (parent 31)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 53)
+  (parent 31)
+  (seen 96)
+  (seen-ops
+    (96
+      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 54)
+  (parent 31)
+  (seen 97 100)
+  (seen-ops
+    (97
+      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))
+    (100
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 55)
+  (parent 32)
+  (seen 28)
+  (seen-ops
+    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 56)
+  (parent 32)
+  (seen 29)
+  (seen-ops
+    (29
+      (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
+        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (0 1)
+    (enc "okay" y3 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1-0 x3 (pubk a))) (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 57)
+  (parent 33)
+  (seen 58 62)
+  (seen-ops
+    (58
+      (operation nonce-test (contracted (x1 y3-0) (x1-0 y3-0)) y3-0
+        (0 1) (enc "okay" y3 y3-0 (pubk a))
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 3))
+    (62
+      (operation nonce-test (displaced 5 4 resp 2) x1-0 (0 1)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 2 3)))
+  (unrealized (0 1))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (x1 y3-0) (x1-0 y3-0)) y3-0 (0 1)
+    (enc "okay" y3 y3-0 (pubk a)) (enc "okay" y3-0 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 58)
+  (parent 33)
+  (seen 65 72)
+  (seen-ops
+    (65
+      (operation nonce-test (displaced 4 2 resp 2) y3-0 (1 0)
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3))
+    (72
+      (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "5 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1 y3) (x1-0 y3)) y3 (0 1)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 59)
+  (parent 33)
+  (seen 54 73)
+  (seen-ops
+    (54
+      (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))
+    (73
+      (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "5 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 60)
+  (parent 34)
+  (seen 38 64)
+  (seen-ops
+    (38
+      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))
+    (64
+      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 y3) (x3 y3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 y3) (y3 y3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 2 resp 2) x1-0 (0 1)
+    (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 y3 (pubk a))))
+      (recv (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 y3 (pubk a-0))) (send (enc "okay" y3 x1 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 61)
+  (parent 34)
+  (seen 83)
+  (seen-ops
+    (83
+      (operation nonce-test (contracted (x1 y3) (a-0 a)) y3 (1 0)
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 y3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (displaced 4 3 resp 2) x1-0 (0 1)
+    (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3 x1-0 (pubk a))
+    (enc x1-0 x3 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 62)
+  (parent 34)
+  (seen 118)
+  (seen-ops
+    (118
+      (operation nonce-test (displaced 4 2 resp 2) x1-0 (1 0)
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 3 2 resp 2) y3 (1 0)
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 63)
+  (parent 35)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 64)
+  (parent 35)
+  (seen 123)
+  (seen-ops
+    (123
+      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 65)
+  (parent 35)
+  (seen 124 127)
+  (seen-ops
+    (124
+      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))
+    (127
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (displaced 3 2 resp 2) x1-0 (1 0)
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a)))))
+  (label 66)
+  (parent 36)
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a)))))
+  (label 67)
+  (parent 36)
+  (seen 66)
+  (seen-ops
+    (66
+      (operation nonce-test (displaced 4 2 resp 2) x1-0 (1 0)
+        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 2)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3-0) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation generalization separated y3-0)
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 68)
+  (parent 37)
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 69)
+  (parent 39)
+  (seen 25)
+  (seen-ops
+    (25 (operation generalization separated x1-0) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (origs (x1 (0 0)))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 70)
+  (parent 40)
+  (seen 76)
+  (seen-ops
+    (76 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 71)
+  (parent 40)
+  (seen 72)
+  (seen-ops
+    (72 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 2 resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 72)
+  (parent 40)
+  (seen 37)
+  (seen-ops
+    (37 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (displaced 4 3 resp 2) x1 (0 1)
+    (enc "okay" x3 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 73)
+  (parent 40)
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 4 1 resp 2) x1-0 (0 1)
+    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" x1 x1-0 (pubk a))
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 74)
+  (parent 42)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 2 resp 2) x1-0 (0 1)
+    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" x1 x1-0 (pubk a))
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 75)
+  (parent 42)
+  (seen 43)
+  (seen-ops
+    (43 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 4 3 resp 2) x1-0 (0 1)
+    (enc "okay" x3 x1-0 (pubk a)) (enc "okay" x1 x1-0 (pubk a))
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x3 (pubk a))
+    (enc x1 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 76)
+  (parent 42)
+  (seen 135)
+  (seen-ops
+    (135 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 77)
+  (parent 46)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 78)
+  (parent 46)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 79)
+  (parent 46)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 80)
+  (parent 47)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 81)
+  (parent 47)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 82)
+  (parent 48)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x3 x1) (a-0 a) (y3 x1)) x1 (1 0)
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 83)
+  (parent 48)
+  (seen 69)
+  (seen-ops
+    (69 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 84)
+  (parent 48)
+  (seen 98 143 146)
+  (seen-ops
+    (98
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" x1 y3 (pubk a)) (enc x1 y3 (pubk a))
+        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3))
+    (143
+      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+        (enc "okay" x1 y3 (pubk a)) (enc x1 y3 (pubk a))
+        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3))
+    (146
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 85)
+  (parent 48)
+  (seen 98 100 145)
+  (seen-ops
+    (98
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3 4))
+    (100
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3))
+    (145
+      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+        (enc y3 x3 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "6 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 86)
+  (parent 49)
+  (seen 100)
+  (seen-ops
+    (100
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 5 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 87)
+  (parent 49)
+  (seen 100)
+  (seen-ops
+    (100
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 4 3 resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 88)
+  (parent 49)
+  (seen 154 158)
+  (seen-ops
+    (154
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))
+    (158
+      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 89)
+  (parent 49)
+  (seen 87 155 160)
+  (seen-ops
+    (87
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2))
+    (155
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (160
+      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 90)
+  (parent 50)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 91)
+  (parent 50)
+  (seen 46)
+  (seen-ops
+    (46
+      (operation nonce-test (displaced 4 3 resp 2) x3 (1 0)
+        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 4 3 resp 2) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 92)
+  (parent 50)
+  (seen 46 105)
+  (seen-ops
+    (46
+      (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
+        (enc "okay" x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3))
+    (105
+      (operation nonce-test (added-strand resp 2) x3 (1 0)
+        (enc "okay" x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 93)
+  (parent 50)
+  (seen 91 105)
+  (seen-ops
+    (91
+      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
+        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 2))
+    (105
+      (operation nonce-test (displaced 5 3 resp 2) x3 (1 0)
+        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "6 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 94)
+  (parent 51)
+  (seen 70 86 113 119)
+  (seen-ops
+    (70
+      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (86
+      (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (113
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (119
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "8 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 95)
+  (parent 52)
+  (seen 43)
+  (seen-ops
+    (43 (operation generalization weakened ((2 1) (1 0)))
+      (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 96)
+  (parent 52)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 97)
+  (parent 52)
+  (seen 180)
+  (seen-ops
+    (180
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 98)
+  (parent 53)
+  (seen 179)
+  (seen-ops
+    (179
+      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
+        (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 99)
+  (parent 53)
+  (seen 43)
+  (seen-ops
+    (43 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 100)
+  (parent 53)
+  (seen 150 180 183)
+  (seen-ops
+    (150
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 3))
+    (180
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (183
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 101)
+  (parent 54)
+  (seen 184)
+  (seen-ops
+    (184
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 102)
+  (parent 54)
+  (seen 135)
+  (seen-ops
+    (135 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 103)
+  (parent 56)
+  (seen 44)
+  (seen-ops
+    (44 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 104)
+  (parent 56)
+  (seen 45)
+  (seen-ops
+    (45 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 105)
+  (parent 56)
+  (seen 46)
+  (seen-ops
+    (46
+      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
+        (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 106)
+  (parent 56)
+  (seen 47 190)
+  (seen-ops
+    (47
+      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 2 3))
+    (190
+      (operation nonce-test (added-strand resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1)) x1 (0 1)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 107)
+  (parent 57)
+  (seen 71 109 116 119 174)
+  (seen-ops
+    (71
+      (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (109
+      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (116
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (119
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3))
+    (174
+      (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "8 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (displaced 4 3 resp 2) y3-0 (1 0)
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 108)
+  (parent 58)
+  (seen 124)
+  (seen-ops
+    (124
+      (operation nonce-test (displaced 4 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 109)
+  (parent 58)
+  (seen 127 151 196)
+  (seen-ops
+    (127
+      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4))
+    (151
+      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-1 (pubk a)) (enc y3-1 x3 (pubk a))
+        (enc y3-1 y3-1 (pubk a))) (strand-map 0 1 2 3 2))
+    (196
+      (operation nonce-test (displaced 5 3 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "6 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 110)
+  (parent 58)
+  (seen 65 198 201)
+  (seen-ops
+    (65
+      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 2))
+    (198
+      (operation nonce-test (displaced 5 3 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4))
+    (201
+      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "5 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 111)
+  (parent 59)
+  (seen 54)
+  (seen-ops
+    (54
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "5 in cohort - 4 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 112)
+  (parent 59)
+  (seen 97 206)
+  (seen-ops
+    (97
+      (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))
+    (206
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 113)
+  (parent 59)
+  (seen 100 151 207 209)
+  (seen-ops
+    (100
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4))
+    (151
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3))
+    (207
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4))
+    (209
+      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 4 3 resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 114)
+  (parent 60)
+  (seen 123)
+  (seen-ops
+    (123
+      (operation nonce-test (displaced 4 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 115)
+  (parent 60)
+  (seen 64 213)
+  (seen-ops
+    (64
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2))
+    (213
+      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 116)
+  (parent 60)
+  (seen 127 151 214 217)
+  (seen-ops
+    (127
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (151
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2))
+    (214
+      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (217
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 y3) (x3 y3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 y3) (y3 y3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 3 2 resp 2) y3 (1 0)
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 y3 (pubk a))))
+      (recv (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 y3 (pubk a-0))) (send (enc "okay" y3 x1 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 117)
+  (parent 61)
+  (seen 131)
+  (seen-ops
+    (131
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 y3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 y3) (x3 y3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 y3) (y3 y3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 y3 (pubk a))))
+      (recv (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 y3 (pubk a-0))) (send (enc "okay" y3 x1 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 118)
+  (parent 61)
+  (seen 131 150)
+  (seen-ops
+    (131
+      (operation nonce-test (displaced 4 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3))
+    (150
+      (operation nonce-test (contracted (x1 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 y3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 119)
+  (parent 62)
+  (seen 83)
+  (seen-ops
+    (83 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (displaced 4 3 resp 2) x1-0 (1 0)
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 120)
+  (parent 62)
+  (seen 131 133)
+  (seen-ops
+    (131
+      (operation nonce-test (displaced 4 2 resp 2) x1-0 (1 0)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 3))
+    (133
+      (operation nonce-test (added-strand resp 2) x1-0 (1 0)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
+    (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a)))))
+  (label 121)
+  (parent 62)
+  (seen 118 133)
+  (seen-ops
+    (118
+      (operation nonce-test (displaced 5 2 resp 2) x1-0 (1 0)
+        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (133
+      (operation nonce-test (displaced 5 3 resp 2) x1-0 (1 0)
+        (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 122)
+  (parent 63)
+  (seen 37)
+  (seen-ops
+    (37 (operation generalization weakened ((2 1) (1 0)))
+      (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 123)
+  (parent 63)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 124)
+  (parent 63)
+  (seen 226)
+  (seen-ops
+    (226
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 125)
+  (parent 64)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 126)
+  (parent 64)
+  (seen 37)
+  (seen-ops
+    (37 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 127)
+  (parent 64)
+  (seen 150 186 226 229)
+  (seen-ops
+    (150
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3))
+    (186
+      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3))
+    (226
+      (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (229
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 128)
+  (parent 65)
+  (seen 231)
+  (seen-ops
+    (231
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 129)
+  (parent 65)
+  (seen 37)
+  (seen-ops
+    (37 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 130)
+  (parent 66)
+  (seen 69)
+  (seen-ops
+    (69 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
+    (enc "okay" y3 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 131)
+  (parent 66)
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 132)
+  (parent 67)
+  (seen 130)
+  (seen-ops
+    (130 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
+    (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 133)
+  (parent 67)
+  (seen 131)
+  (seen-ops
+    (131
+      (operation nonce-test (displaced 5 2 resp 2) x1-0 (1 0)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 2 3)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3-0) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a) (privk a-0))
+  (uniq-orig y3-0)
+  (operation generalization separated a-0)
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 134)
+  (parent 68)
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3-0) (a-0 a-0))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 135)
+  (parent 73)
+  (seen 43)
+  (seen-ops
+    (43 (operation generalization separated y3-0) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 136)
+  (parent 74)
+  (seen 25)
+  (seen-ops
+    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 137)
+  (parent 77)
+  (seen 25)
+  (seen-ops
+    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 138)
+  (parent 78)
+  (seen 28)
+  (seen-ops
+    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 139)
+  (parent 79)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 140)
+  (parent 79)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 141)
+  (parent 80)
+  (seen 25)
+  (seen-ops
+    (25 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 142)
+  (parent 81)
+  (seen 28)
+  (seen-ops
+    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 4 3 resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 143)
+  (parent 82)
+  (seen 97 179 220)
+  (seen-ops
+    (97
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2))
+    (179
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
+        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))) (strand-map 0 1 2 3))
+    (220
+      (operation nonce-test (contracted (x3 x1) (a-0 a) (y3 x1)) x1
+        (1 0) (enc "okay" x1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 144)
+  (parent 82)
+  (seen 95)
+  (seen-ops
+    (95 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 145)
+  (parent 82)
+  (seen 179 183)
+  (seen-ops
+    (179
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (183
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 146)
+  (parent 82)
+  (seen 183)
+  (seen-ops
+    (183
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" x1 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 147)
+  (parent 84)
+  (seen 43)
+  (seen-ops
+    (43 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 148)
+  (parent 85)
+  (seen 183 239)
+  (seen-ops
+    (183
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4))
+    (239
+      (operation nonce-test (displaced 6 2 resp 2) y3 (1 0)
+        (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 149)
+  (parent 85)
+  (seen 99)
+  (seen-ops
+    (99 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x3 x1) (a-0 a) (y3-0 x1)) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 150)
+  (parent 85)
+  (seen 130)
+  (seen-ops
+    (130 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 2)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 151)
+  (parent 86)
+  (seen 150 186)
+  (seen-ops
+    (150
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3))
+    (186
+      (operation nonce-test (displaced 4 3 resp 2) x3 (1 0)
+        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 152)
+  (parent 86)
+  (seen 184 244)
+  (seen-ops
+    (184
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (244
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 153)
+  (parent 86)
+  (seen 102)
+  (seen-ops
+    (102 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 154)
+  (parent 86)
+  (seen 180 186)
+  (seen-ops
+    (180
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (186
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 155)
+  (parent 86)
+  (seen 100 151 224 246 248)
+  (seen-ops
+    (100
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (151
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 2))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4))
+    (246
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (248
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "8 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 156)
+  (parent 87)
+  (seen 183)
+  (seen-ops
+    (183
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 157)
+  (parent 87)
+  (seen 135)
+  (seen-ops
+    (135 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 4 3 resp 2) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 158)
+  (parent 87)
+  (seen 180)
+  (seen-ops
+    (180
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 159)
+  (parent 88)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 160)
+  (parent 88)
+  (seen 158 248)
+  (seen-ops
+    (158
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (248
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 161)
+  (parent 89)
+  (seen 156 249)
+  (seen-ops
+    (156
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (249
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 162)
+  (parent 89)
+  (seen 157)
+  (seen-ops
+    (157 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 163)
+  (parent 90)
+  (seen 28)
+  (seen-ops
+    (28 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 164)
+  (parent 91)
+  (seen 163)
+  (seen-ops
+    (163 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 165)
+  (parent 91)
+  (seen 136)
+  (seen-ops
+    (136 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 166)
+  (parent 91)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "3 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 167)
+  (parent 91)
+  (seen 79 259)
+  (seen-ops
+    (79
+      (operation nonce-test (displaced 5 3 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (259
+      (operation nonce-test (added-strand resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 168)
+  (parent 92)
+  (seen 138)
+  (seen-ops
+    (138 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 169)
+  (parent 92)
+  (seen 137)
+  (seen-ops
+    (137 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a)))))
+  (label 170)
+  (parent 93)
+  (seen 166)
+  (seen-ops
+    (166
+      (operation nonce-test (displaced 6 2 resp 2) x3 (1 0)
+        (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 2 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 171)
+  (parent 93)
+  (seen 164)
+  (seen-ops
+    (164 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 172)
+  (parent 93)
+  (seen 165)
+  (seen-ops
+    (165 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 173)
+  (parent 93)
+  (seen 167 190 264)
+  (seen-ops
+    (167
+      (operation nonce-test (displaced 6 2 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (190
+      (operation nonce-test (displaced 6 3 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (264
+      (operation nonce-test (added-strand resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "5 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 2)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 174)
+  (parent 94)
+  (seen 186 222 251)
+  (seen-ops
+    (186
+      (operation nonce-test (displaced 4 2 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3))
+    (222
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3))
+    (251
+      (operation nonce-test (added-strand resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "3 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 175)
+  (parent 94)
+  (seen 86 207 224 251)
+  (seen-ops
+    (86
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4))
+    (207
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (251
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "9 in cohort - 5 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 176)
+  (parent 94)
+  (seen 154 209 222 270)
+  (seen-ops
+    (154
+      (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (209
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (222
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (270
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 177)
+  (parent 94)
+  (seen 113 155 224 251 267 271 273)
+  (seen-ops
+    (113
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))
+    (155
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (251
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4))
+    (267
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4))
+    (271
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
+    (273
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "9 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 178)
+  (parent 96)
+  (seen 95)
+  (seen-ops
+    (95 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 179)
+  (parent 96)
+  (seen 180 233)
+  (seen-ops
+    (180
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (233
+      (operation nonce-test (contracted (x3 x1) (a-0 a) (y3-0 x1)) x1
+        (1 0) (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 180)
+  (parent 96)
+  (seen 233)
+  (seen-ops
+    (233
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 181)
+  (parent 97)
+  (seen 254)
+  (seen-ops
+    (254 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 182)
+  (parent 98)
+  (seen 147)
+  (seen-ops
+    (147 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 183)
+  (parent 98)
+  (seen 243)
+  (seen-ops
+    (243
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 184)
+  (parent 100)
+  (seen 243)
+  (seen-ops
+    (243
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 185)
+  (parent 100)
+  (seen 102)
+  (seen-ops
+    (102 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+    (enc "okay" y3 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 3)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a)))))
+  (label 186)
+  (parent 100)
+  (seen 233)
+  (seen-ops
+    (233
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+        (enc x3 x3 (pubk a))) (strand-map 0 1 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 187)
+  (parent 101)
+  (seen 225)
+  (seen-ops
+    (225 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 188)
+  (parent 105)
+  (seen 78)
+  (seen-ops
+    (78 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 189)
+  (parent 105)
+  (seen 77)
+  (seen-ops
+    (77 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 190)
+  (parent 105)
+  (seen 79 131)
+  (seen-ops
+    (79
+      (operation nonce-test (displaced 6 2 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" x1-0 x3 (pubk a))
+        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 2 3 4))
+    (131
+      (operation nonce-test (displaced 6 2 resp 2) x1-0 (1 0)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 2 3 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 191)
+  (parent 106)
+  (seen 81)
+  (seen-ops
+    (81 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 192)
+  (parent 106)
+  (seen 80)
+  (seen-ops
+    (80 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 5 4 resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 193)
+  (parent 107)
+  (seen 196 214 222)
+  (seen-ops
+    (196
+      (operation nonce-test (displaced 5 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (214
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))
+    (222
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 194)
+  (parent 107)
+  (seen 109 217 224 251 267 283)
+  (seen-ops
+    (109
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3))
+    (217
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4))
+    (251
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4))
+    (267
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))
+    (283
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "9 in cohort - 3 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 195)
+  (parent 107)
+  (seen 116 201 224 251 267 284 287)
+  (seen-ops
+    (116
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))
+    (201
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4))
+    (251
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4))
+    (267
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3))
+    (284
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))
+    (287
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "9 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 196)
+  (parent 108)
+  (seen 186 226)
+  (seen-ops
+    (186
+      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (226
+      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 197)
+  (parent 108)
+  (seen 122)
+  (seen-ops
+    (122 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 198)
+  (parent 108)
+  (seen 124 291)
+  (seen-ops
+    (124
+      (operation nonce-test (displaced 5 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (291
+      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 199)
+  (parent 109)
+  (seen 229 244)
+  (seen-ops
+    (229
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (244
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 2 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 200)
+  (parent 109)
+  (seen 126)
+  (seen-ops
+    (126 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a)))))
+  (label 201)
+  (parent 109)
+  (seen 127 151 224 251 291 294)
+  (seen-ops
+    (127
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (151
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-1 (pubk a)) (enc "okay" y3-2 y3-1 (pubk a))
+        (enc y3-1 x3 (pubk a)) (enc y3-1 y3-1 (pubk a)))
+      (strand-map 0 1 2 3 2 2))
+    (224
+      (operation nonce-test (contracted (x3 y3-0) (a-0 a)) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 4))
+    (251
+      (operation nonce-test (displaced 6 3 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 4))
+    (291
+      (operation nonce-test (displaced 6 3 resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (294
+      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+        (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "8 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 202)
+  (parent 110)
+  (seen 128 295)
+  (seen-ops
+    (128
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (295
+      (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 203)
+  (parent 110)
+  (seen 129)
+  (seen-ops
+    (129 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 204)
+  (parent 111)
+  (seen 101)
+  (seen-ops
+    (101
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 205)
+  (parent 111)
+  (seen 102)
+  (seen-ops
+    (102 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (displaced 5 2 resp 2) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 206)
+  (parent 111)
+  (seen 97)
+  (seen-ops
+    (97
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
+  (label 207)
+  (parent 111)
+  (seen 100 151 224 251 299 301)
+  (seen-ops
+    (100
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3-2 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3 4))
+    (151
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3 3))
+    (224
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4 4))
+    (251
+      (operation nonce-test (displaced 6 2 resp 2) y3-1 (1 0)
+        (enc "okay" y3-0 y3-1 (pubk a)) (enc "okay" y3-2 y3-1 (pubk a))
+        (enc y3-1 x3 (pubk a)) (enc y3-1 y3-1 (pubk a)))
+      (strand-map 0 1 2 3 4 4))
+    (299
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (301
+      (operation nonce-test (displaced 6 2 resp 2) y3 (1 0)
+        (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "8 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 208)
+  (parent 112)
+  (seen 254)
+  (seen-ops
+    (254 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 209)
+  (parent 112)
+  (seen 180 186 301)
+  (seen-ops
+    (180
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (186
+      (operation nonce-test (displaced 5 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3))
+    (301
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 210)
+  (parent 113)
+  (seen 183 244 302)
+  (seen-ops
+    (183
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (244
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3 4))
+    (302
+      (operation nonce-test (added-strand resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 211)
+  (parent 113)
+  (seen 157)
+  (seen-ops
+    (157 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 212)
+  (parent 114)
+  (seen 122)
+  (seen-ops
+    (122 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 213)
+  (parent 114)
+  (seen 123)
+  (seen-ops
+    (123
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 214)
+  (parent 114)
+  (seen 186 226 307)
+  (seen-ops
+    (186
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2))
+    (226
+      (operation nonce-test (displaced 5 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (307
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 215)
+  (parent 115)
+  (seen 125)
+  (seen-ops
+    (125
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "3 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 216)
+  (parent 115)
+  (seen 126)
+  (seen-ops
+    (126 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 217)
+  (parent 115)
+  (seen 127 151 224 251 307 310)
+  (seen-ops
+    (127
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (151
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 2))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4))
+    (251
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4))
+    (307
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (310
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "8 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 218)
+  (parent 116)
+  (seen 231 244 311)
+  (seen-ops
+    (231
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (244
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4))
+    (311
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 219)
+  (parent 116)
+  (seen 129)
+  (seen-ops
+    (129 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (y3 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 y3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (x1 y3) (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 y3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 220)
+  (parent 117)
+  (seen 69)
+  (seen-ops
+    (69 (operation generalization deleted (2 0)) (strand-map 0 1)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 y3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 y3) (x3 y3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 y3) (y3 y3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 y3 (pubk a))))
+      (recv (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 y3 (pubk a-0))) (send (enc "okay" y3 x1 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 221)
+  (parent 118)
+  (seen 243)
+  (seen-ops
+    (243
+      (operation nonce-test (contracted (x1 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 y3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 222)
+  (parent 120)
+  (seen 220)
+  (seen-ops
+    (220 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x1-0) (x3 x1-0) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1-0) (y3 x1-0) (a a-0))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1-0) (y2 x1-0) (y3 x1-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1-0)
+  (operation nonce-test (added-strand resp 2) x1-0 (1 0)
+    (enc "okay" y3-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1-0 x1-0 (pubk a)) (enc x1-0 x1-0 (pubk a))))
+      (recv (enc "okay" x1-0 x1 (pubk a))))
+    ((recv (enc x1 x1-0 (pubk a-0)))
+      (send (enc "okay" x1-0 x1 (pubk a-0))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" y3-0 x1-0 (pubk a))))
+    ((recv (enc x1-0 x1-0 (pubk a)))
+      (send (enc "okay" x1-0 x1-0 (pubk a)))))
+  (label 223)
+  (parent 121)
+  (seen 221)
+  (seen-ops
+    (221
+      (operation nonce-test (displaced 6 2 resp 2) x1-0 (1 0)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 3 2 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x1-0) (a a) (x1-0 x1-0) (x3-0 x1-0) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 224)
+  (parent 121)
+  (seen 150)
+  (seen-ops
+    (150 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 225)
+  (parent 123)
+  (seen 122)
+  (seen-ops
+    (122 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 226)
+  (parent 123)
+  (seen 233)
+  (seen-ops
+    (233
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 227)
+  (parent 124)
+  (seen 122)
+  (seen-ops
+    (122 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 228)
+  (parent 125)
+  (seen 225)
+  (seen-ops
+    (225 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 229)
+  (parent 125)
+  (seen 243)
+  (seen-ops
+    (243
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 230)
+  (parent 127)
+  (seen 129)
+  (seen-ops
+    (129 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-0 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 231)
+  (parent 127)
+  (seen 243)
+  (seen-ops
+    (243
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "2 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 232)
+  (parent 128)
+  (seen 253)
+  (seen-ops
+    (253 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 233)
+  (parent 131)
+  (seen 220)
+  (seen-ops
+    (220 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 234)
+  (parent 133)
+  (seen 233)
+  (seen-ops
+    (233 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3-0) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation generalization forgot (privk a-0))
+  (strand-map 0 1 2)
+  (traces
+    ((send (cat (enc y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 235)
+  (parent 134)
+  (realized)
+  (shape)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3-0) (a-0 a-0))))
+  (origs (y3-0 (0 0))))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 236)
+  (parent 139)
+  (seen 141)
+  (seen-ops
+    (141 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 237)
+  (parent 140)
+  (seen 142)
+  (seen-ops
+    (142 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 238)
+  (parent 143)
+  (seen 95)
+  (seen-ops
+    (95 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 239)
+  (parent 145)
+  (seen 183 243)
+  (seen-ops
+    (183
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (243
+      (operation nonce-test (contracted (x3 x1) (a-0 a) (y3-0 x1)) x1
+        (1 0) (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
+  (comment "3 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a)))))
+  (label 240)
+  (parent 145)
+  (seen 178)
+  (seen-ops
+    (178 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a)))))
+  (label 241)
+  (parent 146)
+  (seen 102)
+  (seen-ops
+    (102 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 242)
+  (parent 148)
+  (seen 182)
+  (seen-ops
+    (182 (operation generalization deleted (3 0))
+      (strand-map 0 1 2 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x3 x1) (a-0 a) (y3-0 x1)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 243)
+  (parent 148)
+  (seen 233)
+  (seen-ops
+    (233 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 244)
+  (parent 151)
+  (seen 243)
+  (seen-ops
+    (243
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+        (enc x3 x3 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 245)
+  (parent 152)
+  (seen 187)
+  (seen-ops
+    (187 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 246)
+  (parent 152)
+  (seen 184 244 314)
+  (seen-ops
+    (184
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2))
+    (244
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 2))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 247)
+  (parent 154)
+  (seen 181)
+  (seen-ops
+    (181 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 248)
+  (parent 154)
+  (seen 180 186 234)
+  (seen-ops
+    (180
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))
+    (186
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 2))
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 249)
+  (parent 155)
+  (seen 183 244 314)
+  (seen-ops
+    (183
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2 5))
+    (244
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 2 4))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 250)
+  (parent 155)
+  (seen 185)
+  (seen-ops
+    (185 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 4)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 251)
+  (parent 155)
+  (seen 186 234)
+  (seen-ops
+    (186
+      (operation nonce-test (displaced 5 2 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a))) (strand-map 0 1 2 3 2))
+    (234
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+        (enc x3 x3 (pubk a))) (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "2 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 252)
+  (parent 156)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 253)
+  (parent 158)
+  (seen 254)
+  (seen-ops
+    (254 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 254)
+  (parent 159)
+  (seen 135)
+  (seen-ops
+    (135 (operation generalization weakened ((2 1) (1 0)))
+      (strand-map 0 1 2)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 255)
+  (parent 160)
+  (seen 253)
+  (seen-ops
+    (253 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 256)
+  (parent 161)
+  (seen 252)
+  (seen-ops
+    (252 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 257)
+  (parent 166)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 258)
+  (parent 166)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 259)
+  (parent 166)
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "2 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 260)
+  (parent 167)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 261)
+  (parent 167)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 262)
+  (parent 170)
+  (seen 258)
+  (seen-ops
+    (258 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x1 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 263)
+  (parent 170)
+  (seen 257)
+  (seen-ops
+    (257 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 x3 x1-0 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x1-0) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" x1-0 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1-0 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 264)
+  (parent 170)
+  (seen 221 259)
+  (seen-ops
+    (221
+      (operation nonce-test (displaced 7 2 resp 2) x1-0 (1 0)
+        (enc "okay" x1-0 x1-0 (pubk a)) (enc "okay" y3-0 x1-0 (pubk a))
+        (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2 3 2 4 4))
+    (259
+      (operation nonce-test (displaced 7 2 resp 2) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" x1-0 x3 (pubk a))
+        (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+        (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 2 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 265)
+  (parent 173)
+  (seen 260)
+  (seen-ops
+    (260 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" y3-0 x3 (pubk a))
+    (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 266)
+  (parent 173)
+  (seen 261)
+  (seen-ops
+    (261 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 2)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a)))))
+  (label 267)
+  (parent 175)
+  (seen 224 244 251)
+  (seen-ops
+    (224
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (244
+      (operation nonce-test (displaced 5 4 resp 2) x3 (1 0)
+        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3 4))
+    (251
+      (operation nonce-test (displaced 5 3 resp 2) x3 (1 0)
+        (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+      (strand-map 0 1 2 3 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 268)
+  (parent 175)
+  (seen 152 299 314 331)
+  (seen-ops
+    (152
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5))
+    (299
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 5))
+    (331
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 269)
+  (parent 175)
+  (seen 205)
+  (seen-ops
+    (205 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 270)
+  (parent 175)
+  (seen 154 234 251 301)
+  (seen-ops
+    (154
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4))
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4))
+    (251
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (301
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 271)
+  (parent 175)
+  (seen 155 207 224 251 267 333 335)
+  (seen-ops
+    (155
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" y3-2 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5))
+    (207
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 2))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 4))
+    (251
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4 4))
+    (267
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4 4))
+    (333
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6))
+    (335
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "9 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 272)
+  (parent 176)
+  (seen 208)
+  (seen-ops
+    (208 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 273)
+  (parent 176)
+  (seen 209 234 248 251 335)
+  (seen-ops
+    (209
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4))
+    (248
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (251
+      (operation nonce-test (displaced 6 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4))
+    (335
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 274)
+  (parent 177)
+  (seen 210 249 314 331 336)
+  (seen-ops
+    (210
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2 5))
+    (249
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 5))
+    (331
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5))
+    (336
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 275)
+  (parent 177)
+  (seen 211)
+  (seen-ops
+    (211 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
+    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 276)
+  (parent 179)
+  (seen 238)
+  (seen-ops
+    (238 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 277)
+  (parent 180)
+  (seen 181)
+  (seen-ops
+    (181 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 278)
+  (parent 183)
+  (seen 277)
+  (seen-ops
+    (277 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3 x1 (pubk a))
+    (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 279)
+  (parent 184)
+  (seen 315)
+  (seen-ops
+    (315 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 280)
+  (parent 190)
+  (seen 140)
+  (seen-ops
+    (140 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 281)
+  (parent 190)
+  (seen 139)
+  (seen-ops
+    (139 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 282)
+  (parent 193)
+  (seen 212)
+  (seen-ops
+    (212 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 283)
+  (parent 193)
+  (seen 196 234 251 307)
+  (seen-ops
+    (196
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3))
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4))
+    (251
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (307
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 284)
+  (parent 193)
+  (seen 214 234 251 291 341)
+  (seen-ops
+    (214
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2))
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4))
+    (251
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3))
+    (291
+      (operation nonce-test (displaced 6 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5))
+    (341
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 285)
+  (parent 194)
+  (seen 199 310 314 331)
+  (seen-ops
+    (199
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3 5))
+    (310
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4 5))
+    (331
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 286)
+  (parent 194)
+  (seen 216)
+  (seen-ops
+    (216 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 287)
+  (parent 194)
+  (seen 201 217 224 251 267 341 344)
+  (seen-ops
+    (201
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" y3-2 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3 5))
+    (217
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 2))
+    (224
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4 4))
+    (251
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4 4))
+    (267
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3 3))
+    (341
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6))
+    (344
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "9 in cohort - 2 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 288)
+  (parent 195)
+  (seen 218 295 314 331 345)
+  (seen-ops
+    (218
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 2 5))
+    (295
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 2 3 4 5))
+    (331
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 3 5))
+    (345
+      (operation nonce-test (added-strand resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 6)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "6 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 289)
+  (parent 195)
+  (seen 219)
+  (seen-ops
+    (219 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 290)
+  (parent 196)
+  (seen 225)
+  (seen-ops
+    (225 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a)))))
+  (label 291)
+  (parent 196)
+  (seen 186 226 234)
+  (seen-ops
+    (186
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 2 2))
+    (226
+      (operation nonce-test (displaced 6 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 2))
+    (234
+      (operation nonce-test (contracted (x3 y3-0) (a-0 a)) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a)))))
+  (label 292)
+  (parent 198)
+  (seen 227)
+  (seen-ops
+    (227 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 293)
+  (parent 199)
+  (seen 228)
+  (seen-ops
+    (228 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a)))))
+  (label 294)
+  (parent 199)
+  (seen 229 244 314)
+  (seen-ops
+    (229
+      (operation nonce-test (displaced 7 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 5 2))
+    (244
+      (operation nonce-test (displaced 7 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 2 4 2))
+    (314
+      (operation nonce-test (contracted (x3 y3-0) (a-0 a)) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 5 4)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (added-strand resp 2) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a-0)))
+      (send (enc "okay" x3 y3-0 (pubk a-0))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 295)
+  (parent 201)
+  (seen 231 244 314)
+  (seen-ops
+    (231
+      (operation nonce-test (displaced 7 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 4 2 5))
+    (244
+      (operation nonce-test (displaced 7 2 resp 2) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+        (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3 2 2 4))
+    (314
+      (operation nonce-test (contracted (x3 y3-0) (a-0 a)) y3-0 (1 0)
+        (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+        (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5)))
+  (unrealized (1 0))
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-1 y3-0 (pubk a)) (enc "okay" y3-2 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a)))))
+  (label 296)
+  (parent 201)
+  (seen 230)
+  (seen-ops
+    (230 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc y3-0 x3 (pubk a)) (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 297)
+  (parent 202)
+  (seen 232)
+  (seen-ops
+    (232 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 298)
+  (parent 204)
+  (seen 306)
+  (seen-ops
+    (306 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
+  (label 299)
+  (parent 204)
+  (seen 184 244 314)
+  (seen-ops
+    (184
+      (operation nonce-test (displaced 7 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4 5))
+    (244
+      (operation nonce-test (displaced 7 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4 3))
+    (314
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc "okay" y3-2 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 5 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 300)
+  (parent 206)
+  (seen 181)
+  (seen-ops
+    (181 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
+  (label 301)
+  (parent 206)
+  (seen 180 186 234)
+  (seen-ops
+    (180
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4))
+    (186
+      (operation nonce-test (displaced 6 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 3))
+    (234
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc "okay" y3-2 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (added-strand resp 2) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a-0))) (send (enc "okay" x3 y3 (pubk a-0))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 302)
+  (parent 207)
+  (seen 183 244 314)
+  (seen-ops
+    (183
+      (operation nonce-test (displaced 7 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+        (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4 5))
+    (244
+      (operation nonce-test (displaced 7 3 resp 2) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
+        (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 3 4))
+    (314
+      (operation nonce-test (contracted (x3 y3) (a-0 a)) y3 (1 0)
+        (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+        (enc "okay" y3-2 y3 (pubk a)) (enc y3 y3 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3-1 y3 (pubk a)) (enc "okay" y3-2 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
+  (label 303)
+  (parent 207)
+  (seen 185)
+  (seen-ops
+    (185 (operation generalization deleted (3 0))
+      (strand-map 0 1 2 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 304)
+  (parent 209)
+  (seen 253)
+  (seen-ops
+    (253 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc y3 x3 (pubk a)) (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 305)
+  (parent 210)
+  (seen 304)
+  (seen-ops
+    (304 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 306)
+  (parent 213)
+  (seen 225)
+  (seen-ops
+    (225 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 307)
+  (parent 213)
+  (seen 186 226 234)
+  (seen-ops
+    (186
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 2))
+    (226
+      (operation nonce-test (displaced 6 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4))
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a)))))
+  (label 308)
+  (parent 214)
+  (seen 227)
+  (seen-ops
+    (227 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 309)
+  (parent 215)
+  (seen 228)
+  (seen-ops
+    (228 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 310)
+  (parent 215)
+  (seen 229 244 314)
+  (seen-ops
+    (229
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 5))
+    (244
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 2))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 5 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 311)
+  (parent 217)
+  (seen 231 244 314)
+  (seen-ops
+    (231
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-0 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4 5))
+    (244
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 2 4))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 4 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "4 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-0 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 312)
+  (parent 217)
+  (seen 230)
+  (seen-ops
+    (230 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 313)
+  (parent 218)
+  (seen 232)
+  (seen-ops
+    (232 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x1) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x1 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 314)
+  (parent 223)
+  (seen 243)
+  (seen-ops
+    (243 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x1) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (1 0)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 315)
+  (parent 226)
+  (seen 227)
+  (seen-ops
+    (227 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a)))))
+  (label 316)
+  (parent 229)
+  (seen 315)
+  (seen-ops
+    (315 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
+    (enc "okay" y3-1 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 317)
+  (parent 231)
+  (seen 277)
+  (seen-ops
+    (277 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" x1 y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
+    (enc "okay" y3-0 y3 (pubk a)) (enc x1 y3 (pubk a))
+    (enc y3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x1 y3 (pubk a)))))
+  (label 318)
+  (parent 239)
+  (seen 276)
+  (seen-ops
+    (276 (operation generalization deleted (3 0))
+      (strand-map 0 1 2 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 319)
+  (parent 246)
+  (seen 279)
+  (seen-ops
+    (279 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 320)
+  (parent 248)
+  (seen 277)
+  (seen-ops
+    (277 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 321)
+  (parent 249)
+  (seen 278)
+  (seen-ops
+    (278 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 322)
+  (parent 252)
+  (seen 254)
+  (seen-ops
+    (254 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 323)
+  (parent 257)
+  (seen 137)
+  (seen-ops
+    (137 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a)))))
+  (label 324)
+  (parent 258)
+  (seen 138)
+  (seen-ops
+    (138 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 325)
+  (parent 259)
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 326)
+  (parent 259)
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 327)
+  (parent 260)
+  (seen 142)
+  (seen-ops
+    (142 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 328)
+  (parent 261)
+  (seen 141)
+  (seen-ops
+    (141 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x1) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 329)
+  (parent 264)
+  (seen 326)
+  (seen-ops
+    (326 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (contracted (x1-0 x3) (a-0 a)) x3 (1 0)
+    (enc "okay" x3 x3 (pubk a)) (enc "okay" x1 x3 (pubk a))
+    (enc "okay" y3-0 x3 (pubk a)) (enc x3 x3 (pubk a))
+    (enc x1 x3 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 330)
+  (parent 264)
+  (seen 325)
+  (seen-ops
+    (325 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 text) (a a-0 name))
+  (defstrand init 2 (x1 x3) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation nonce-test (added-strand resp 2) x3 (1 0)
+    (enc "okay" y3 x3 (pubk a)) (enc x3 x3 (pubk a)))
+  (strand-map 0 1 2 3 4)
+  (traces
+    ((send (cat (enc x3 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a-0))) (send (enc "okay" x3 x3 (pubk a-0))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" y3-0 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 331)
+  (parent 267)
+  (seen 314)
+  (seen-ops
+    (314
+      (operation nonce-test (contracted (a-0 a)) x3 (1 0)
+        (enc "okay" x3 x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
+        (enc x3 x3 (pubk a))) (strand-map 0 1 2 3 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x3) (x3-0 x3) (a-0 a-0))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 332)
+  (parent 268)
+  (seen 298)
+  (seen-ops
+    (298 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 333)
+  (parent 268)
+  (seen 246 299 314 331)
+  (seen-ops
+    (246
+      (operation nonce-test (displaced 8 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5 6))
+    (299
+      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 6 2))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4 5 4))
+    (331
+      (operation nonce-test (displaced 8 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5 4)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 334)
+  (parent 270)
+  (seen 300)
+  (seen-ops
+    (300 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 335)
+  (parent 270)
+  (seen 234 248 251 301)
+  (seen-ops
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4 4))
+    (248
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5))
+    (251
+      (operation nonce-test (displaced 7 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 4))
+    (301
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 336)
+  (parent 271)
+  (seen 249 302 314 331)
+  (seen-ops
+    (249
+      (operation nonce-test (displaced 8 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 5 6))
+    (302
+      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2 6))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 3 2 4 4 5))
+    (331
+      (operation nonce-test (displaced 8 4 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 4 4 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 337)
+  (parent 271)
+  (seen 303)
+  (seen-ops
+    (303 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (0 1))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 338)
+  (parent 273)
+  (seen 304)
+  (seen-ops
+    (304 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 339)
+  (parent 274)
+  (seen 305)
+  (seen-ops
+    (305 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 340)
+  (parent 283)
+  (seen 306)
+  (seen-ops
+    (306 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 341)
+  (parent 283)
+  (seen 234 251 291 307)
+  (seen-ops
+    (234
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4 4))
+    (251
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 3))
+    (291
+      (operation nonce-test (displaced 7 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5))
+    (307
+      (operation nonce-test (displaced 7 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 342)
+  (parent 284)
+  (seen 308)
+  (seen-ops
+    (308 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 343)
+  (parent 285)
+  (seen 309)
+  (seen-ops
+    (309 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 344)
+  (parent 285)
+  (seen 294 310 314 331)
+  (seen-ops
+    (294
+      (operation nonce-test (displaced 8 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5 6))
+    (310
+      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 6 2))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4 5 4))
+    (331
+      (operation nonce-test (displaced 8 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5 3)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a a-0 name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a-0))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (added-strand resp 2) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a-0))) (send (enc "okay" x3 x1 (pubk a-0))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 345)
+  (parent 287)
+  (seen 295 311 314 331)
+  (seen-ops
+    (295
+      (operation nonce-test (displaced 8 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 5 6))
+    (311
+      (operation nonce-test (displaced 8 2 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5 2 6))
+    (314
+      (operation nonce-test (contracted (x3 x1) (a-0 a)) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+        (enc "okay" y3-1 x1 (pubk a)) (enc x1 x1 (pubk a)))
+      (strand-map 0 1 2 2 3 4 4 5))
+    (331
+      (operation nonce-test (displaced 8 3 resp 2) x1 (1 0)
+        (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+        (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+        (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 3 3 5)))
+  (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a-0))))
+  (comment "5 in cohort - 1 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" y3-1 x1 (pubk a)) (enc "okay" y3-2 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 346)
+  (parent 287)
+  (seen 312)
+  (seen-ops
+    (312 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc x1 x3 (pubk a)) (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 347)
+  (parent 288)
+  (seen 313)
+  (seen-ops
+    (313 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a)))))
+  (label 348)
+  (parent 291)
+  (seen 315)
+  (seen-ops
+    (315 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a)))))
+  (label 349)
+  (parent 294)
+  (seen 316)
+  (seen-ops
+    (316 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3-0) (x2 x3) (x3 y3-0) (x4 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 y3-0) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 y3-0) (y2 x3) (y3 y3-0) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3-0)
+  (operation nonce-test (contracted (a-0 a)) y3-0 (1 0)
+    (enc "okay" y3-0 y3-0 (pubk a)) (enc "okay" y3-1 y3-0 (pubk a))
+    (enc "okay" y3-2 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))
+    (enc y3-0 y3-0 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc y3-0 y3-0 (pubk a)) (enc y3-0 x3 (pubk a))))
+      (recv (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" x3 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a))) (send (enc "okay" y3 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a))))
+    ((recv (enc y3-0 y3-0 (pubk a)))
+      (send (enc "okay" y3-1 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-2 y3-0 (pubk a))))
+    ((recv (enc y3-0 x3 (pubk a)))
+      (send (enc "okay" y3-0 y3-0 (pubk a)))))
+  (label 350)
+  (parent 295)
+  (seen 317)
+  (seen-ops
+    (317 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps
+    ((0 1) ((x1 y3-0) (x3 x3) (a a) (x1-0 y3-0) (x3-0 y3-0) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
+  (label 351)
+  (parent 299)
+  (seen 354)
+  (seen-ops
+    (354 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a)))))
+  (label 352)
+  (parent 301)
+  (seen 277)
+  (seen-ops
+    (277 (operation generalization deleted (3 0))
+      (strand-map 0 1 2 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 y3) (x2 x3) (x3 y3) (x4 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 y3) (y2 y3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 y3) (y2 x3) (y3 y3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig y3)
+  (operation nonce-test (contracted (a-0 a)) y3 (1 0)
+    (enc "okay" y3 y3 (pubk a)) (enc "okay" y3-1 y3 (pubk a))
+    (enc "okay" y3-2 y3 (pubk a)) (enc y3 x3 (pubk a))
+    (enc y3 y3 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc y3 y3 (pubk a)) (enc y3 x3 (pubk a))))
+      (recv (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" x3 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-0 y3 (pubk a))))
+    ((recv (enc y3 y3 (pubk a))) (send (enc "okay" y3-1 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3-2 y3 (pubk a))))
+    ((recv (enc y3 x3 (pubk a))) (send (enc "okay" y3 y3 (pubk a)))))
+  (label 353)
+  (parent 302)
+  (seen 352)
+  (seen-ops
+    (352 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 y3) (x3-0 y3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0))
+    ((5 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 354)
+  (parent 307)
+  (seen 315)
+  (seen-ops
+    (315 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a)))))
+  (label 355)
+  (parent 310)
+  (seen 316)
+  (seen-ops
+    (316 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-0 x1 (pubk a))
+    (enc "okay" y3-1 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 356)
+  (parent 311)
+  (seen 317)
+  (seen-ops
+    (317 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 357)
+  (parent 325)
+  (seen 236)
+  (seen-ops
+    (236 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x3) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x3) (y2 x3) (y3 x3) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1))
+    ((2 1) (0 1)) ((3 1) (1 0)) ((4 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x3)
+  (operation generalization deleted (2 0))
+  (strand-map 0 1 3 4 5)
+  (traces
+    ((send (cat (enc x1 x3 (pubk a)) (enc x3 x3 (pubk a))))
+      (recv (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x1 x3 (pubk a))))
+    ((recv (enc x3 x3 (pubk a))) (send (enc "okay" x3 x3 (pubk a)))))
+  (label 358)
+  (parent 326)
+  (seen 237)
+  (seen-ops
+    (237 (operation generalization deleted (2 0)) (strand-map 0 1 3 4)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 359)
+  (parent 333)
+  (seen 351)
+  (seen-ops
+    (351 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6 7)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (1 0))
+    ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 360)
+  (parent 335)
+  (seen 352)
+  (seen-ops
+    (352 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 361)
+  (parent 336)
+  (seen 353)
+  (seen-ops
+    (353 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6 7)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (0 1)) ((3 1) (0 1))
+    ((4 1) (1 0)) ((5 1) (1 0)) ((6 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 362)
+  (parent 341)
+  (seen 354)
+  (seen-ops
+    (354 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a)))))
+  (label 363)
+  (parent 344)
+  (seen 355)
+  (seen-ops
+    (355 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6 7)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
+  (comment "1 in cohort - 0 not yet seen"))
+
+(defskeleton wonthull2
+  (vars (x3 x1 y3 y3-0 y3-1 y3-2 text) (a name))
+  (defstrand init 2 (x1 x1) (x2 x3) (x3 x1) (x4 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-0) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 x1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x1) (y3 y3-1) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 y3-2) (a a))
+  (defstrand resp 2 (y1 x1) (y2 x3) (y3 x1) (a a))
+  (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((0 0) (4 0)) ((0 0) (5 0))
+    ((0 0) (6 0)) ((0 0) (7 0)) ((1 1) (0 1)) ((2 1) (0 1))
+    ((3 1) (0 1)) ((4 1) (0 1)) ((5 1) (1 0)) ((6 1) (1 0))
+    ((7 1) (1 0)))
+  (non-orig (privk a))
+  (uniq-orig x1)
+  (operation nonce-test (contracted (a-0 a)) x1 (1 0)
+    (enc "okay" x1 x1 (pubk a)) (enc "okay" y3-1 x1 (pubk a))
+    (enc "okay" y3-2 x1 (pubk a)) (enc x1 x3 (pubk a))
+    (enc x1 x1 (pubk a)))
+  (strand-map 0 1 2 3 4 5 6 7)
+  (traces
+    ((send (cat (enc x1 x1 (pubk a)) (enc x1 x3 (pubk a))))
+      (recv (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x3 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-0 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" x1 x1 (pubk a))))
+    ((recv (enc x1 x1 (pubk a))) (send (enc "okay" y3-1 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" y3-2 x1 (pubk a))))
+    ((recv (enc x1 x3 (pubk a))) (send (enc "okay" x1 x1 (pubk a)))))
+  (label 364)
+  (parent 345)
+  (seen 356)
+  (seen-ops
+    (356 (operation generalization deleted (2 0))
+      (strand-map 0 1 3 4 5 6 7)))
+  (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x1) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/wonthull3.tst b/tst/wonthull3.tst
--- a/tst/wonthull3.tst
+++ b/tst/wonthull3.tst
@@ -1,4 +1,4 @@
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/wonthull3.scm")
 
 (defprotocol wonthull3 basic
@@ -31,6 +31,7 @@
       (recv (enc "okay" x3 x4 (pubk a)))))
   (label 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
   (origs (x3 (0 0)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -49,6 +50,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 2))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
   (origs (x2 (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -70,6 +72,7 @@
   (label 2)
   (parent 0)
   (unrealized (0 2) (1 0))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -90,6 +93,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 2) (1 0))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -116,6 +120,7 @@
         (enc x3 (pubk a)) (enc "okay" y3 x3 (pubk a))
         (enc x3 x2 (pubk a))) (strand-map 0 1)))
   (unrealized (0 2))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -136,6 +141,7 @@
   (label 5)
   (parent 3)
   (unrealized (0 2))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -185,6 +191,7 @@
       (operation nonce-test (displaced 3 0 init 2) x3 (2 0)
         (enc x3 (pubk a))) (strand-map 0 1 1)))
   (unrealized (0 2) (2 0))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x3) (x4 x4))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -209,6 +216,7 @@
   (seen-ops
     (6 (operation generalization separated y3-0) (strand-map 0 1)))
   (realized)
+  (maps ((0) ((a a) (x1 x1) (x2 y3) (x3 y3) (x4 y3))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -237,6 +245,7 @@
       (operation nonce-test (displaced 3 0 init 2) x2 (2 0)
         (enc x2 (pubk a))) (strand-map 0 1 1)))
   (unrealized (0 2) (2 0))
+  (maps ((0) ((a a) (x1 x1) (x2 x2) (x3 x2) (x4 x4))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -275,6 +284,8 @@
       (send (enc "okay" x3 x1 (pubk a-0)))))
   (label 10)
   (unrealized (0 2))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
   (origs (x3-0 (0 0)))
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -297,6 +308,7 @@
   (label 11)
   (parent 10)
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (origs (x3 (0 0)))
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -324,6 +336,7 @@
         (enc x1-0 (pubk a)) (enc "okay" x3 x1-0 (pubk a))
         (enc x1-0 x3 (pubk a))) (strand-map 0 1)))
   (unrealized (0 2))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
   (origs (x1 (0 0)))
   (comment "2 in cohort - 1 not yet seen"))
 
@@ -348,6 +361,8 @@
   (label 13)
   (parent 10)
   (unrealized (0 2) (2 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -414,6 +429,7 @@
   (label 16)
   (parent 11)
   (unrealized (1 0) (2 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -436,6 +452,7 @@
   (label 17)
   (parent 12)
   (unrealized (0 2) (2 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -465,6 +482,8 @@
         (enc x3-0 (pubk a-0)) (enc "okay" y3 x3-0 (pubk a-0))
         (enc x3-0 x3 (pubk a-0))) (strand-map 0 1 2)))
   (unrealized (0 2))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton wonthull3
@@ -487,6 +506,7 @@
   (label 19)
   (parent 16)
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton wonthull3
@@ -509,6 +529,7 @@
   (label 20)
   (parent 17)
   (unrealized (0 2))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton wonthull3
@@ -542,6 +563,7 @@
         (enc x3 (pubk a)) (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
       (strand-map 0 1 2)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "4 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -569,6 +591,7 @@
       (operation nonce-test (contracted (a-0 a)) y3 (1 0)
         (enc y3 (pubk a)) (enc y3 x3 (pubk a))) (strand-map 0 1 2)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton wonthull3
@@ -601,6 +624,8 @@
       (operation nonce-test (displaced 4 0 init 2) x3-0 (3 0)
         (enc x3-0 (pubk a))) (strand-map 0 1 2 2)))
   (unrealized (0 2) (3 0))
+  (maps
+    ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3-0) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -627,6 +652,7 @@
   (seen-ops
     (14 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -653,6 +679,7 @@
   (seen-ops
     (15 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -684,6 +711,7 @@
       (operation nonce-test (displaced 4 0 init 2) x3 (3 0)
         (enc x3 (pubk a))) (strand-map 0 1 2 2)))
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -710,6 +738,7 @@
   (seen-ops
     (14 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -766,6 +795,7 @@
       (operation nonce-test (displaced 4 0 init 2) x1 (3 0)
         (enc x1 (pubk a))) (strand-map 0 1 2 2)))
   (unrealized (0 2) (3 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x1) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -791,6 +821,7 @@
   (seen-ops
     (15 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -816,6 +847,7 @@
   (label 31)
   (parent 21)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -838,6 +870,7 @@
   (label 32)
   (parent 22)
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton wonthull3
@@ -866,6 +899,7 @@
         (enc y3 (pubk a)) (enc "okay" y3 y3 (pubk a))
         (enc y3 x3 (pubk a))) (strand-map 0 1 2)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -891,6 +925,7 @@
   (label 34)
   (parent 22)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -923,6 +958,7 @@
         (enc x3 x3 (pubk a)) (enc x1-0 x3 (pubk a)))
       (strand-map 0 1 2 2)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton wonthull3
@@ -948,6 +984,7 @@
   (seen-ops
     (14 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -970,6 +1007,7 @@
   (label 37)
   (parent 32)
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -995,6 +1033,7 @@
   (label 38)
   (parent 32)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -1021,6 +1060,7 @@
     (28 (operation generalization weakened ((2 1) (1 0)))
       (strand-map 0 1 2)))
   (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1046,6 +1086,7 @@
   (label 40)
   (parent 33)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -1081,6 +1122,7 @@
         (enc y3 (pubk a)) (enc "okay" y3-0 y3 (pubk a))
         (enc y3 x3 (pubk a))) (strand-map 0 1 2 3)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "4 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -1110,6 +1152,7 @@
   (seen-ops
     (25 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1139,6 +1182,7 @@
   (seen-ops
     (24 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1172,6 +1216,7 @@
       (operation nonce-test (displaced 5 0 init 2) x3 (4 0)
         (enc x3 (pubk a))) (strand-map 0 1 2 3 3)))
   (unrealized (1 0) (4 0))
+  (maps ((0 1) ((x1 x1) (x3 x3) (a a) (x1-0 x1-0) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1198,6 +1243,7 @@
   (seen-ops
     (14 (operation generalization deleted (2 0)) (strand-map 0 1)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1224,6 +1270,7 @@
   (label 46)
   (parent 37)
   (unrealized (1 0) (3 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton wonthull3
@@ -1256,6 +1303,7 @@
         (enc x3 x3 (pubk a)) (enc x1 x3 (pubk a)))
       (strand-map 0 1 2 3)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -1288,6 +1336,7 @@
         (enc "okay" y3 y3-0 (pubk a)) (enc y3-0 x3 (pubk a)))
       (strand-map 0 1 2 2)))
   (unrealized (1 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -1316,6 +1365,7 @@
   (seen-ops
     (28 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1348,6 +1398,7 @@
       (operation nonce-test (displaced 5 0 init 2) y3 (4 0)
         (enc y3 (pubk a))) (strand-map 0 1 2 3 3)))
   (unrealized (1 0) (4 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1373,6 +1424,7 @@
   (label 51)
   (parent 46)
   (unrealized (1 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton wonthull3
@@ -1402,6 +1454,7 @@
   (seen-ops
     (24 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1435,6 +1488,7 @@
       (operation nonce-test (displaced 5 0 init 2) x3 (4 0)
         (enc x3 (pubk a))) (strand-map 0 1 2 3 3)))
   (unrealized (1 0) (4 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1464,6 +1518,7 @@
   (seen-ops
     (39 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1497,6 +1552,7 @@
       (operation nonce-test (displaced 5 0 init 2) y3 (4 0)
         (enc y3 (pubk a))) (strand-map 0 1 2 3 3)))
   (unrealized (1 0) (4 0))
+  (maps ((0 1) ((x1 y3) (x3 x3) (a a) (x1-0 x1) (x3-0 y3) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1526,6 +1582,7 @@
   (seen-ops
     (24 (operation generalization deleted (2 0)) (strand-map 0 1 3)))
   (realized)
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton wonthull3
@@ -1559,6 +1616,7 @@
       (operation nonce-test (displaced 5 0 init 2) x3 (4 0)
         (enc x3 (pubk a))) (strand-map 0 1 2 3 3)))
   (unrealized (1 0) (4 0))
+  (maps ((0 1) ((x1 x3) (x3 x3) (a a) (x1-0 x1) (x3-0 x3) (a-0 a-0))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
diff --git a/tst/woolam.tst b/tst/woolam.tst
--- a/tst/woolam.tst
+++ b/tst/woolam.tst
@@ -1,6 +1,6 @@
 (herald "Woo-Lam Protocol")
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/woolam.scm")
 
 (defprotocol woolam basic
@@ -37,6 +37,7 @@
       (recv (enc a n (ltk b s)))))
   (label 0)
   (unrealized (0 2) (0 4))
+  (maps ((0) ((a a) (s s) (b b) (n n))))
   (origs (n (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -58,6 +59,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 4))
+  (maps ((0) ((a a) (s s) (b b) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton woolam
@@ -81,6 +83,7 @@
   (label 2)
   (parent 1)
   (unrealized (2 0))
+  (maps ((0) ((a a) (s s) (b b) (n n))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton woolam
@@ -142,6 +145,7 @@
       (recv (enc n (ltk b s)))))
   (label 4)
   (unrealized (0 4))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m m))))
   (origs (n (0 1)))
   (comment "2 in cohort - 2 not yet seen"))
 
@@ -184,6 +188,7 @@
   (label 6)
   (parent 4)
   (unrealized (1 0))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m m))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton woolam-msg
@@ -205,6 +210,7 @@
   (label 7)
   (parent 6)
   (unrealized (0 2))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m (enc n (ltk a s))))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton woolam-msg
@@ -279,6 +285,7 @@
   (label 10)
   (parent 7)
   (unrealized (2 0))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m (enc n (ltk a s))))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton woolam-msg
@@ -345,6 +352,7 @@
       (recv (enc a n (ltk b s)))))
   (label 12)
   (unrealized (0 4))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m m))))
   (origs (n (0 1)))
   (comment "3 in cohort - 3 not yet seen"))
 
@@ -406,6 +414,7 @@
   (label 15)
   (parent 12)
   (unrealized (1 0))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m m))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton woolam-msg1
@@ -427,6 +436,7 @@
   (label 16)
   (parent 15)
   (unrealized (0 2))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m (enc n (ltk a s))))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton woolam-msg1
@@ -450,6 +460,7 @@
   (label 17)
   (parent 15)
   (unrealized (2 2))
+  (maps ((0) ((a a) (s s) (b b) (n n) (m m))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton woolam-msg1
diff --git a/tst/yahalom-6.3.6.tst b/tst/yahalom-6.3.6.tst
--- a/tst/yahalom-6.3.6.tst
+++ b/tst/yahalom-6.3.6.tst
@@ -5,7 +5,7 @@
   (url "http://www.eecs.umich.edu/acal/swerve/docs/49-1.pdf")
   (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/yahalom-6.3.6.scm")
 (comment "Strand count bounded at 15")
 
@@ -44,6 +44,7 @@
       (send (cat blob (enc n-b k)))))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k) (blob blob))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -66,6 +67,7 @@
   (label 1)
   (parent 0)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k) (blob blob))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -130,6 +132,7 @@
       (recv (cat (enc a k (ltk b s)) (enc n-b k)))) ((recv k) (send k)))
   (label 3)
   (unrealized (0 2))
+  (maps ((0 1) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -152,6 +155,7 @@
   (label 4)
   (parent 3)
   (unrealized (0 2) (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -174,6 +178,7 @@
   (parent 4)
   (unrealized (0 2) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -198,6 +203,7 @@
   (parent 4)
   (unrealized (0 2) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -236,6 +242,7 @@
       (recv (cat (enc a k (ltk b s)) (enc n-b k)))))
   (label 7)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -257,6 +264,7 @@
   (label 8)
   (parent 7)
   (unrealized (0 2) (1 0))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -277,6 +285,7 @@
   (label 9)
   (parent 8)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -299,6 +308,7 @@
   (label 10)
   (parent 8)
   (unrealized (0 2))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -324,6 +334,7 @@
   (label 11)
   (parent 9)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -346,6 +357,7 @@
   (parent 9)
   (unrealized (0 2) (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -373,6 +385,7 @@
   (label 13)
   (parent 10)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -397,6 +410,7 @@
   (parent 10)
   (unrealized (0 2) (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -454,6 +468,7 @@
   (label 16)
   (parent 11)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -490,6 +505,7 @@
         (enc a n-a n-b (ltk b s)) (enc b k n-a n-b (ltk a s))
         (enc b k-0 n-a n-b (ltk a s))) (strand-map 0 1 2 3)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -522,6 +538,7 @@
   (label 18)
   (parent 13)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -556,6 +573,7 @@
   (label 19)
   (parent 16)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -589,6 +607,7 @@
   (parent 16)
   (unrealized (4 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -621,6 +640,7 @@
   (seen-ops
     (15 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -657,6 +677,7 @@
   (label 22)
   (parent 17)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -694,6 +715,7 @@
   (label 23)
   (parent 18)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -733,6 +755,7 @@
   (parent 19)
   (unrealized (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -773,6 +796,7 @@
   (label 25)
   (parent 22)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -812,6 +836,7 @@
   (parent 22)
   (unrealized (2 1) (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -853,6 +878,7 @@
   (label 27)
   (parent 23)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -893,6 +919,7 @@
   (parent 23)
   (unrealized (3 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -936,6 +963,7 @@
   (parent 25)
   (unrealized (2 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -981,6 +1009,7 @@
   (parent 27)
   (unrealized (3 1) (7 0))
   (dead)
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1019,6 +1048,7 @@
       (send (cat (enc b k n-a n-b (ltk a s)) (enc a k (ltk b s))))))
   (label 31)
   (unrealized (0 0))
+  (maps ((0) ((a a) (b b) (s s) (n-a n-a) (n-b n-b) (k k))))
   (origs (k (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
diff --git a/tst/yahalom-forward.tst b/tst/yahalom-forward.tst
--- a/tst/yahalom-forward.tst
+++ b/tst/yahalom-forward.tst
@@ -1,6 +1,6 @@
 (herald "Yahalom Protocol With Forwarding" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/yahalom-forward.scm")
 (comment "Strand count bounded at 15")
 
@@ -38,6 +38,7 @@
       (recv (enc n-b k))))
   (label 0)
   (unrealized (0 2) (0 4))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -61,6 +62,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 4) (1 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -83,6 +85,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 4))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -107,6 +110,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 4))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -132,6 +136,7 @@
   (label 4)
   (parent 2)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -156,6 +161,7 @@
   (parent 2)
   (unrealized (0 4) (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -184,6 +190,7 @@
   (label 6)
   (parent 3)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -210,6 +217,7 @@
   (parent 3)
   (unrealized (0 4) (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -274,6 +282,7 @@
         (enc n-b k) (enc a n-a n-b (ltk b c))
         (enc b k n-a n-b (ltk a c))) (strand-map 0 1 2 2)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -310,6 +319,7 @@
         (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
         (enc b k-0 n-a n-b (ltk a c))) (strand-map 0 1 2 3)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -342,6 +352,7 @@
   (label 11)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -375,6 +386,7 @@
   (label 12)
   (parent 9)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -407,6 +419,7 @@
   (parent 9)
   (unrealized (4 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -440,6 +453,7 @@
   (seen-ops
     (8 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -481,6 +495,7 @@
         (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c)))
       (strand-map 0 1 2 3 4)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -516,6 +531,7 @@
   (label 16)
   (parent 11)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -549,6 +565,7 @@
   (label 17)
   (parent 12)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -586,6 +603,7 @@
   (label 18)
   (parent 12)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton yahalom
@@ -624,6 +642,7 @@
   (parent 12)
   (unrealized (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -660,6 +679,7 @@
   (seen-ops
     (14 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -705,6 +725,7 @@
         (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c))
         (enc b k-1 n-a n-b (ltk a c))) (strand-map 0 1 2 3 4 5)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -742,6 +763,7 @@
   (parent 15)
   (unrealized (2 1) (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -781,6 +803,7 @@
   (label 23)
   (parent 16)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -819,6 +842,7 @@
   (parent 16)
   (unrealized (3 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -850,6 +874,7 @@
   (seen-ops
     (8 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -891,6 +916,7 @@
   (label 26)
   (parent 18)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -927,6 +953,7 @@
   (label 27)
   (parent 18)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -967,6 +994,7 @@
   (parent 18)
   (unrealized (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1007,6 +1035,7 @@
   (parent 18)
   (unrealized (2 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1045,6 +1074,7 @@
   (label 30)
   (parent 21)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1086,6 +1116,7 @@
   (parent 21)
   (unrealized (2 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1129,6 +1160,7 @@
   (parent 23)
   (unrealized (3 1) (7 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1170,6 +1202,7 @@
   (label 33)
   (parent 26)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1214,6 +1247,7 @@
   (parent 26)
   (unrealized (7 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1258,6 +1292,7 @@
   (parent 26)
   (unrealized (2 1) (7 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1292,6 +1327,7 @@
   (seen-ops
     (25 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -1326,6 +1362,7 @@
   (seen-ops
     (14 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -1361,6 +1398,7 @@
   (label 38)
   (parent 33)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1395,6 +1433,7 @@
   (seen-ops
     (25 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (rest rest) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -1434,6 +1473,8 @@
       (recv (enc n-b k))) ((recv k) (send k)))
   (label 40)
   (unrealized (0 2) (0 4))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1458,6 +1499,8 @@
   (label 41)
   (parent 40)
   (unrealized (0 4) (1 0) (2 0))
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -1482,6 +1525,8 @@
   (parent 41)
   (unrealized (0 4) (1 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1508,6 +1553,8 @@
   (parent 41)
   (unrealized (0 4) (1 0))
   (dead)
+  (maps
+    ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a) (rest rest))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1544,6 +1591,7 @@
       (send (enc n-b k))))
   (label 44)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1565,6 +1613,7 @@
   (label 45)
   (parent 44)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
diff --git a/tst/yahalom.tst b/tst/yahalom.tst
--- a/tst/yahalom.tst
+++ b/tst/yahalom.tst
@@ -1,6 +1,6 @@
 (herald "Yahalom Protocol Without Forwarding" (bound 15))
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/yahalom.scm")
 (comment "Strand count bounded at 15")
 
@@ -35,6 +35,7 @@
       (recv (enc a k (ltk b c))) (recv (enc n-b k))))
   (label 0)
   (unrealized (0 2) (0 3))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -57,6 +58,7 @@
   (label 1)
   (parent 0)
   (unrealized (0 3) (1 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -77,6 +79,7 @@
   (label 2)
   (parent 1)
   (unrealized (0 3))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -99,6 +102,7 @@
   (label 3)
   (parent 1)
   (unrealized (0 3))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -121,6 +125,7 @@
   (label 4)
   (parent 2)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -142,6 +147,7 @@
   (label 5)
   (parent 2)
   (unrealized (0 3) (2 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -168,6 +174,7 @@
   (label 6)
   (parent 3)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -191,6 +198,7 @@
   (label 7)
   (parent 3)
   (unrealized (0 3) (3 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -250,6 +258,7 @@
         (enc n-b k) (enc a n-a n-b (ltk b c))
         (enc b k n-a n-b (ltk a c))) (strand-map 0 1 2 2)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -283,6 +292,7 @@
         (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c))
         (enc b k-0 n-a n-b (ltk a c))) (strand-map 0 1 2 3)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -306,6 +316,7 @@
   (parent 5)
   (unrealized (0 3) (2 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -336,6 +347,7 @@
   (label 12)
   (parent 6)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -361,6 +373,7 @@
   (parent 7)
   (unrealized (0 3) (3 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -391,6 +404,7 @@
   (label 14)
   (parent 9)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -419,6 +433,7 @@
   (label 15)
   (parent 9)
   (unrealized (4 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -450,6 +465,7 @@
   (seen-ops
     (8 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -488,6 +504,7 @@
         (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c)))
       (strand-map 0 1 2 3 4)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "4 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -521,6 +538,7 @@
   (label 18)
   (parent 12)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -552,6 +570,7 @@
   (label 19)
   (parent 14)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -586,6 +605,7 @@
   (label 20)
   (parent 14)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "4 in cohort - 4 not yet seen"))
 
 (defskeleton yahalom
@@ -619,6 +639,7 @@
   (label 21)
   (parent 14)
   (unrealized (5 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -648,6 +669,7 @@
   (parent 15)
   (unrealized (4 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -682,6 +704,7 @@
   (seen-ops
     (16 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -724,6 +747,7 @@
         (enc b k n-a n-b (ltk a c)) (enc b k-0 n-a n-b (ltk a c))
         (enc b k-1 n-a n-b (ltk a c))) (strand-map 0 1 2 3 4 5)))
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "3 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -757,6 +781,7 @@
   (label 25)
   (parent 17)
   (unrealized (2 1) (5 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -794,6 +819,7 @@
   (label 26)
   (parent 18)
   (unrealized (3 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -829,6 +855,7 @@
   (label 27)
   (parent 18)
   (unrealized (3 1) (6 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -858,6 +885,7 @@
   (seen-ops
     (8 (operation generalization deleted (3 0)) (strand-map 0 1 2)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -896,6 +924,7 @@
   (label 29)
   (parent 20)
   (unrealized (2 1))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "3 in cohort - 3 not yet seen"))
 
 (defskeleton yahalom
@@ -930,6 +959,7 @@
   (label 30)
   (parent 20)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -966,6 +996,7 @@
   (label 31)
   (parent 20)
   (unrealized (6 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1002,6 +1033,7 @@
   (label 32)
   (parent 20)
   (unrealized (2 1) (6 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1035,6 +1067,7 @@
   (parent 21)
   (unrealized (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1071,6 +1104,7 @@
   (label 34)
   (parent 24)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1107,6 +1141,7 @@
   (label 35)
   (parent 24)
   (unrealized (2 1) (6 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1141,6 +1176,7 @@
   (parent 25)
   (unrealized (2 1) (4 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1180,6 +1216,7 @@
   (label 37)
   (parent 26)
   (unrealized (3 1) (7 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1217,6 +1254,7 @@
   (parent 27)
   (unrealized (3 1) (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1256,6 +1294,7 @@
   (label 39)
   (parent 29)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1295,6 +1334,7 @@
   (label 40)
   (parent 29)
   (unrealized (7 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1334,6 +1374,7 @@
   (label 41)
   (parent 29)
   (unrealized (2 1) (7 0))
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1366,6 +1407,7 @@
   (seen-ops
     (28 (operation generalization deleted (4 0)) (strand-map 0 1 2 3)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -1402,6 +1444,7 @@
   (parent 31)
   (unrealized (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1439,6 +1482,7 @@
   (parent 32)
   (unrealized (2 1) (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1471,6 +1515,7 @@
   (seen-ops
     (16 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (defskeleton yahalom
@@ -1508,6 +1553,7 @@
   (parent 35)
   (unrealized (2 1) (5 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1548,6 +1594,7 @@
   (parent 37)
   (unrealized (3 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1581,6 +1628,7 @@
   (label 48)
   (parent 39)
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1620,6 +1668,7 @@
   (parent 40)
   (unrealized (7 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1660,6 +1709,7 @@
   (parent 41)
   (unrealized (2 1) (6 0))
   (dead)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1692,6 +1742,7 @@
   (seen-ops
     (28 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))
   (realized)
+  (maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
   (comment "1 in cohort - 0 not yet seen"))
 
 (comment "Nothing left to do")
@@ -1729,6 +1780,7 @@
     ((recv k) (send k)))
   (label 52)
   (unrealized (0 2) (0 3))
+  (maps ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a))))
   (origs (n-b (0 1)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1752,6 +1804,7 @@
   (label 53)
   (parent 52)
   (unrealized (0 3) (1 0) (2 0))
+  (maps ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a))))
   (comment "2 in cohort - 2 not yet seen"))
 
 (defskeleton yahalom
@@ -1773,6 +1826,7 @@
   (label 54)
   (parent 53)
   (unrealized (0 3) (1 0))
+  (maps ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1796,6 +1850,7 @@
   (label 55)
   (parent 53)
   (unrealized (0 3) (1 0))
+  (maps ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
@@ -1818,6 +1873,7 @@
   (parent 54)
   (unrealized (0 3) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a))))
   (comment "empty cohort"))
 
 (defskeleton yahalom
@@ -1842,6 +1898,7 @@
   (parent 55)
   (unrealized (0 3) (1 0))
   (dead)
+  (maps ((0 1) ((a a) (b b) (c c) (n-b n-b) (k k) (n-a n-a))))
   (comment "empty cohort"))
 
 (comment "Nothing left to do")
@@ -1877,6 +1934,7 @@
       (send (enc n-b k))))
   (label 58)
   (unrealized (0 1))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (origs (n-a (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -1898,6 +1956,7 @@
   (label 59)
   (parent 58)
   (unrealized (1 0))
+  (maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
   (comment "1 in cohort - 1 not yet seen"))
 
 (defskeleton yahalom
diff --git a/tst/yes-or-no.tst b/tst/yes-or-no.tst
--- a/tst/yes-or-no.tst
+++ b/tst/yes-or-no.tst
@@ -1,6 +1,6 @@
 (herald yes-or-no)
 
-(comment "CPSA 4.4.5")
+(comment "CPSA 4.4.7")
 (comment "All input read from tst/yes-or-no.scm")
 
 (defprotocol yes-or-no basic
@@ -32,6 +32,7 @@
   (traces ((send (enc question y n ans-key)) (recv y)))
   (label 0)
   (unrealized (0 1))
+  (maps ((0) ((y y) (ans-key ans-key) (n n) (question question))))
   (origs (y (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -87,6 +88,7 @@
   (traces ((send (enc question y n ans-key)) (recv n)))
   (label 2)
   (unrealized (0 1))
+  (maps ((0) ((ans-key ans-key) (n n) (y y) (question question))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -144,6 +146,7 @@
   (label 4)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((y y) (ans-key ans-key) (n n) (question question))))
   (origs (y (0 0)))
   (comment "Not a skeleton"))
 
@@ -159,6 +162,7 @@
   (label 5)
   (parent 4)
   (unrealized (1 0))
+  (maps ((0 1) ((y y) (ans-key ans-key) (n n) (question question))))
   (origs (y (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
@@ -217,6 +221,7 @@
   (label 7)
   (unrealized (1 0))
   (preskeleton)
+  (maps ((0 1) ((n n) (ans-key ans-key) (y y) (question question))))
   (origs (n (0 0)))
   (comment "Not a skeleton"))
 
@@ -232,6 +237,7 @@
   (label 8)
   (parent 7)
   (unrealized (1 0))
+  (maps ((0 1) ((n n) (ans-key ans-key) (y y) (question question))))
   (origs (n (0 0)))
   (comment "1 in cohort - 1 not yet seen"))
 
