cpsa 4.4.5 → 4.4.6
raw patch · 117 files changed
+3664/−32449 lines, 117 filesdep ~basenew-component:exe:cpsa4dl
Dependency ranges changed: base
Files
- ChangeLog +13/−1
- NEWS +11/−0
- coq/Alg.v +2/−1
- coq/Alt_sem.v +2/−2
- coq/CRun.v +2/−1
- coq/CRun_csem.v +1/−1
- coq/CSem.v +2/−2
- coq/Comp.v +2/−1
- coq/Derives.v +2/−1
- coq/Examples/Bad_unilateral_role.v +2/−1
- coq/Examples/Blanchet_akey_role.v +2/−1
- coq/Examples/Blanchet_role.v +2/−1
- coq/Examples/Invk_role.v +2/−1
- coq/Examples/Nsl_role.v +2/−1
- coq/Examples/Otway_rees_role.v +2/−1
- coq/Examples/Yahalom_role.v +2/−1
- coq/Makefile +1/−1
- coq/Match.v +2/−1
- coq/Monad.v +1/−1
- coq/Nonce.v +2/−1
- coq/Preamble.v +1/−1
- coq/Proc.v +1/−1
- coq/Role.v +2/−1
- coq/Run.v +2/−1
- coq/Run_sem.v +1/−1
- coq/Sem.v +2/−1
- coq/Subst.v +1/−1
- coq/Unilateral_proof.v +2/−1
- coq/Unilateral_role.v +2/−1
- cpsa.cabal +30/−22
- doc/cpsa4.mk +4/−0
- doc/cpsa4manual.pdf binary
- doc/cpsa4prolog.pl +163/−0
- doc/cpsauser.html +81/−3
- doc/src/cpsa4manual/algorithm.tex +1/−1
- doc/src/cpsa4manual/basic.tex +1/−1
- doc/src/cpsa4manual/channels_state.tex +16/−19
- doc/src/cpsa4manual/goals.tex +145/−6
- doc/src/cpsa4manual/input.tex +1/−1
- doc/src/cpsa4manual/intro.tex +15/−15
- doc/src/cpsa4manual/macros.tex +1/−1
- doc/src/cpsa4manual/setup.tex +20/−23
- doc/src/macros.tex +1/−1
- src/CPSA/Algebra.hs +48/−1
- src/CPSA/Channel.hs +11/−1
- src/CPSA/Characteristic.hs +2/−2
- src/CPSA/Cohort.hs +86/−24
- src/CPSA/DL/Compiler.hs +108/−0
- src/CPSA/DL/Loader.hs +142/−0
- src/CPSA/DL/Main.hs +52/−0
- src/CPSA/DL/Prolog.hs +79/−0
- src/CPSA/DL/Simplifier.hs +27/−0
- src/CPSA/DL/Structs.hs +82/−0
- src/CPSA/Db/Loader.hs +4/−4
- src/CPSA/Db/Main.hs +11/−2
- src/CPSA/Db/Structs.hs +12/−2
- src/CPSA/DbProlog/Main.hs +3/−5
- src/CPSA/Displayer.hs +2/−1
- src/CPSA/GenRules.hs +136/−24
- src/CPSA/Graph/Loader.hs +16/−4
- src/CPSA/Graph/Preskeleton.hs +1/−1
- src/CPSA/Graph/Tree.hs +135/−34
- src/CPSA/Init/Main.hs +1/−1
- src/CPSA/Lib/Utilities.hs +22/−0
- src/CPSA/LoadFormulas.hs +56/−3
- src/CPSA/Loader.hs +181/−13
- src/CPSA/Operation.hs +4/−0
- src/CPSA/Protocol.hs +214/−23
- src/CPSA/Query/Main.hs +1/−1
- src/CPSA/Reduction.hs +21/−8
- src/CPSA/RoleCoq/Main.hs +2/−1
- src/CPSA/Strand.hs +188/−32
- src/cpsa4prolog.pl +0/−98
- tst/aik.tst +2/−2
- tst/atomic-open-closed.tst +163/−197
- tst/dh-ca_hack.tst +1/−1
- tst/dhcr_um.lisp +0/−206
- tst/dhcr_um.scm +0/−255
- tst/dhcr_um.tst too large to diff
- tst/dhcr_um3.scm +0/−275
- tst/dhcr_um3.tst too large to diff
- tst/dhcr_um3_goals.scm +0/−286
- tst/dhcr_um3_goals.tst +0/−28448
- tst/dhcr_um_goals.scm +0/−317
- tst/dhcr_um_implicit_auth.scm +0/−162
- tst/dhcr_umx.scm +0/−281
- tst/dhcr_umx.tst too large to diff
- tst/dhcr_umx_goals.scm +0/−209
- tst/dhcr_umx_implicit_auth.scm +0/−160
- tst/dhstatic-state.tst +36/−72
- tst/dy.tst too large to diff
- tst/epmo_acctnum.tst +6/−6
- tst/fragile_pruning.tst +22/−22
- tst/locn_envelope.tst +121/−46
- tst/nonaug-prune.tst +7/−7
- tst/ns-rebinding.tst +6/−23
- tst/open-closed-multiloc.tst +115/−79
- tst/open-closed-tag.tst +151/−102
- tst/open-closed.tst +140/−103
- tst/ordered.tst +6/−12
- tst/pca.tst +5/−5
- tst/rule-order.tst +3/−4
- tst/sorted_epmo_acctnum.tst +6/−6
- tst/subatomic-open-closed-test-genrule.scm +8/−4
- tst/subatomic-open-closed-test-genrule.tst +208/−265
- tst/subatomic-open-closed.scm +8/−4
- tst/subatomic-open-closed.tst +208/−265
- tst/sync_locn_envelope.tst +54/−20
- tst/targetterms2.tst +2/−2
- tst/targetterms6.tst +1/−1
- tst/timestamping.tst +1/−1
- tst/ugen-at.tst +5/−8
- tst/uniq-at.tst +5/−8
- tst/wonthull2.tst +170/−170
- tst/yahalom-6.3.6.tst +1/−1
- tst/yahalom-forward.tst +3/−3
- tst/yahalom.tst +3/−3
ChangeLog view
@@ -1,6 +1,18 @@+2025-05-02 John D. Ramsdell <ramsdell@mitre.org>++ * src/cpsa/RoleCoq/Main.hs (emit): Updated Roletran to use rocq+ 9.0.0. ++2024-07-17 Joshua D. Guttman <guttman@mitre.org>++ * cpsa.cabal (Version): Tagged as version 4.4.5. Adds cpsa4db and+ cpsa4dbprolog to enable prolog access to the goal language and+ other properties of CPSA output. Fixes supplementary bugs and+ eliminates redundant occurrences of seen children.+ 2024-06-21 Joshua D. Guttman <guttman@mitre.org> - * cpsa.cabal (Version): Tagged as version 4.3.4. This version has+ * cpsa.cabal (Version): Tagged as version 4.4.4. This version has important bug fixes especially for the Diffie-Hellman "absence" computation.
NEWS view
@@ -1,5 +1,16 @@ CPSA NEWS -- history of user-visible changes. +* Changes in 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.+ * Changes in version 4.4.5 ** Fixed a strand map bug in 4.4.4.
coq/Alg.v view
@@ -8,7 +8,8 @@ (** * The Message Algebra *) -Require Import FunInd Nat Bool DecBool Monad Proc.+From Stdlib Require Import FunInd Nat Bool DecBool.+Require Import Monad Proc. (** printing <- #←# *) Notation var := nat (only parsing).
coq/Alt_sem.v view
@@ -12,7 +12,7 @@ unique lists instead of execution. See [sem']. Some people might find this definition more intuitive. *) -Require Import FunInd Program Arith Lia.+From Stdlib Require Import FunInd Program Arith Lia. Require Import Preamble Monad Proc Alg Sem. Import List.ListNotations. Open Scope list_scope.@@ -46,7 +46,7 @@ intros. unfold get_ins. rewrite skipn_app.- rewrite app_length.+ rewrite length_app. rewrite ins_inputs_length; auto. assert (G: length ev + length ds -
coq/CRun.v view
@@ -23,7 +23,8 @@ - a list of the uniques that occur at the transmissions in the current trace. *) -Require Import FunInd Nat Bool Preamble Monad Proc Alg CSem.+From Stdlib Require Import FunInd Nat Bool.+Require Import Preamble Monad Proc Alg CSem. Import List.ListNotations. Open Scope list_scope. (** printing <- #←# *)
coq/CRun_csem.v view
@@ -9,7 +9,7 @@ (** This library contains proofs that the semantics specified in [Roletran.Run] and [Roletran.Sem] agree. *) -Require Import FunInd List Bool Arith.+From Stdlib Require Import FunInd List Bool Arith. Require Import Preamble Proc Alg Role CSem CRun. Open Scope nat_scope.
coq/CSem.v view
@@ -43,7 +43,7 @@ - the terms compared with an inverse key predicate check. *) -Require Import FunInd ListSet Bool Arith Program Lia.+From Stdlib Require Import FunInd ListSet Bool Arith Program Lia. Require Import Preamble Monad Proc Alg Sem. Import List.ListNotations. Open Scope list_scope.@@ -1684,7 +1684,7 @@ intros. unfold mk_ins. rewrite skipn_app.- rewrite app_length.+ rewrite length_app. rewrite ins_inputs_length; auto. assert (G: length ev + length ds -
coq/Comp.v view
@@ -22,7 +22,8 @@ of the code is specified by mutually inductive predicates. This means code generation must be guided by a proof script. *) -Require Import List Monad Proc Alg Sem+From Stdlib Require Import List.+Require Import Monad Proc Alg Sem Unilateral_role Unilateral_proof. Import List.ListNotations. Open Scope list_scope.
coq/Derives.v view
@@ -8,7 +8,8 @@ (** * Derivability *) -Require Import List ListSet Bool Lia Alg Sem_tactics.+From Stdlib Require Import List ListSet Bool Lia.+Require Import Alg Sem_tactics. (** [derives pub t] when [t] can be derived using the terms in [pub]. *)
coq/Examples/Bad_unilateral_role.v view
@@ -1,6 +1,7 @@ (** Protocol: bad-unilateral (bad_unilateral.scm:6:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Examples/Blanchet_akey_role.v view
@@ -1,6 +1,7 @@ (** Protocol: blanchet-akey-fixed (blanchet_akey.scm:3:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Examples/Blanchet_role.v view
@@ -1,6 +1,7 @@ (** Protocol: blanchet-fixed (blanchet.scm:3:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Examples/Invk_role.v view
@@ -1,6 +1,7 @@ (** Protocol: invk (invk.scm:3:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Examples/Nsl_role.v view
@@ -1,6 +1,7 @@ (** Protocol: nsl (nsl.scm:3:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Examples/Otway_rees_role.v view
@@ -1,6 +1,7 @@ (** Protocol: otway-rees (otway_rees.scm:7:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Examples/Yahalom_role.v view
@@ -1,6 +1,7 @@ (** Protocol: yahalom (yahalom.scm:7:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
coq/Makefile view
@@ -15,7 +15,7 @@ $(MAKE) -f $(COQMK) $(DOC) $(COQMK): $(PROJ)- coq_makefile -o $(COQMK) -f $(PROJ)+ $(COQBIN)rocq makefile -o $(COQMK) -f $(PROJ) $(PROJ): @echo make $@
coq/Match.v view
@@ -12,7 +12,8 @@ applying [sb] to [x] gives [y]. The match function defined within computes substitutions. *) -Require Import String Monad Alg Role.+From Stdlib Require Import String.+Require Import Monad Alg Role. Import List.ListNotations. Open Scope list_scope. (** printing <- #←# *)
coq/Monad.v view
@@ -8,7 +8,7 @@ (** * Monadic Operations on Option Types *) -Require Import List.+From Stdlib Require Import List. Import List.ListNotations. Open Scope list_scope. (** printing <- #←# *)
coq/Nonce.v view
@@ -13,7 +13,8 @@ that basic values that uniquely originate are generated just before the transmission of the message in which they originate. *) -Require Import FunInd Bool Preamble Monad Proc Alg Role Sem Run Run_sem.+From Stdlib Require Import FunInd Bool.+Require Import Preamble Monad Proc Alg Role Sem Run Run_sem. (** printing <- #←# *) (** Find a nonce [u] of type [t] that is carried by [x]. Remove [u]
coq/Preamble.v view
@@ -8,7 +8,7 @@ (** * Some General Purpose Tactics *) -Require Import Bool Plus List.+From Stdlib Require Import Bool List. Ltac inv H := inversion H; clear H; subst.
coq/Proc.v view
@@ -8,7 +8,7 @@ (** * Representation of Generated Code *) -Require Export String List.+From Stdlib Require Export String List. (** A procedure variable is a nat *)
coq/Role.v view
@@ -6,7 +6,8 @@ modify it under the terms of the BSD License as published by the University of California. *) -Require Import List ListSet Bool Program Monad Proc Alg.+From Stdlib Require Import List ListSet Bool Program.+Require Import Monad Proc Alg. (** * Protocol Roles *)
coq/Run.v view
@@ -23,7 +23,8 @@ - a list of the uniques that occur at the transmissions in the current trace. *) -Require Import Nat Bool Preamble Monad Proc Alg.+From Stdlib Require Import Nat Bool.+Require Import Preamble Monad Proc Alg. Import List.ListNotations. Open Scope list_scope. (** printing <- #←# *)
coq/Run_sem.v view
@@ -9,7 +9,7 @@ (** This library contains proofs that the semantics specified in [Roletran.Run] and [Roletran.Sem] agree. *) -Require Import FunInd List Bool Arith.+From Stdlib Require Import FunInd List Bool Arith. Require Import Preamble Proc Alg Sem Alt_sem Run. Open Scope nat_scope.
coq/Sem.v view
@@ -11,7 +11,8 @@ This section provides the semantics of procedures generated by the role compiler. *) -Require Import ListSet Bool Program Monad Proc Alg.+From Stdlib Require Import ListSet Bool Program.+Require Import Monad Proc Alg. Require Export Role Match. Import List.ListNotations. Open Scope list_scope.
coq/Subst.v view
@@ -13,7 +13,7 @@ matches [x] to [y] and produces substitution [sb], then [subst_term sb x] equals [y]. *) -Require Import FunInd String List Nat Bool Arith.+From Stdlib Require Import FunInd String List Nat Bool Arith. Require Import Preamble Monad Alg Match. Definition subst_skey (sb: sbst) (x: skey): skey :=
coq/Unilateral_proof.v view
@@ -8,7 +8,8 @@ (** * Unilateral Protocol Generated Code Verification *) -Require Import List Program Monad Proc Alg.+From Stdlib Require Import List Program.+Require Import Monad Proc Alg. Require Import Sem Sem_tactics Unilateral Unilateral_role. Import List.ListNotations. Open Scope list_scope.
coq/Unilateral_role.v view
@@ -1,6 +1,7 @@ (** Protocol: unilateral (../rtst/unilateral.scm:5:1) *) -Require Import String List Alg Role.+From Stdlib Require Import String List.+Require Import Alg Role. Import List.ListNotations. Open Scope list_scope. Open Scope string.
cpsa.cabal view
@@ -1,5 +1,5 @@ Name: cpsa-Version: 4.4.5+Version: 4.4.6 Maintainer: guttman@mitre.org Cabal-Version: >= 1.10 License: BSD3@@ -43,8 +43,9 @@ Build-Type: Simple Data-Files: index.html cpsalogo.svg readme.html cpsauser.html cpsa4.mk Make4.hs- init/Makefile cpsaprimer.pdf cpsagoals.pdf cpsaintroslides.pdf cpsaspec.pdf- cpsafoundation.pdf cpsadesign.pdf cpsa4roletran.md roletran.pdf+ init/Makefile cpsaprimer.pdf cpsagoals.pdf cpsaintroslides.pdf+ cpsaspec.pdf cpsafoundation.pdf cpsadesign.pdf+ cpsa4roletran.md roletran.pdf cpsa4prolog.pl ffgg.scm ns.scm blanchet.scm or.scm woolam.scm yahalom.scm goals.scm rules.scm cpsa4manual.pdf @@ -143,7 +144,7 @@ doc/SDAG.lhs doc/cpsalogo.mp src/index.html src/cpsajson.py src/split.py src/cpsa2svg src/cpsa.el src/cpsaperm.scm src/lastlabel.py src/cpsaops.scm src/preskel src/cpsa.pl src/unsorted.pl src/pp.pl- src/sexpr.pl src/perm.pl src/prover9.pl src/cpsa4prolog.pl src/zoom.js+ src/sexpr.pl src/perm.pl src/prover9.pl src/zoom.js src/js2hs src/ghcmemlimit build.xml src/scala/Main.scala src/scala/Pretty.scala src/scala/Printer.scala src/scala/SExpr.scala src/ocaml/Makefile src/ocaml/README src/ocaml/cpsa.d.itarget@@ -175,11 +176,7 @@ 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/dhcr_um.lisp tst/dhcr_um.scm tst/dhcr_um.tst tst/dhcr_um3.scm- tst/dhcr_um3.tst tst/dhcr_um3_goals.scm tst/dhcr_um3_goals.tst- tst/dhcr_um_goals.scm tst/dhcr_um_implicit_auth.scm tst/dhcr_umx.scm- tst/dhcr_umx.tst tst/dhcr_umx_goals.scm- tst/dhcr_umx_implicit_auth.scm tst/dhke2.lisp tst/dhnsl_hack.scm+ 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@@ -279,7 +276,7 @@ Source-Repository head Type: git- Location: git://github.com/mitre/cpsa.git+ Location: https://github.com/mitre/cpsa.git Executable cpsa4 Main-Is: CPSA/Main.hs@@ -322,7 +319,7 @@ Executable cpsa4goalsat Main-Is: CPSA/GoalSat/Main.hs Default-Language: Haskell2010- Build-Depends: base+ Build-Depends: base >= 3 && < 5 GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -333,7 +330,7 @@ Executable cpsa4diff Main-Is: CPSA/Diff/Main.hs Default-Language: Haskell2010- Build-Depends: base+ Build-Depends: base >= 3 && < 5 GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -344,7 +341,7 @@ Executable cpsa4graph Main-Is: CPSA/Graph/Main.hs Default-Language: Haskell2010- Build-Depends: base >= 4.13, containers+ Build-Depends: base >= 4.13 && < 5, containers GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -359,7 +356,7 @@ Executable cpsa4shapes Main-Is: CPSA/Shapes/Main.hs Default-Language: Haskell2010- Build-Depends: base >= 4.13, containers+ Build-Depends: base >= 4.13 && < 5, containers GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -370,7 +367,7 @@ Executable cpsa4pp Main-Is: CPSA/Pretty/Main.hs Default-Language: Haskell2010- Build-Depends: base+ Build-Depends: base >= 4.13 && < 5 GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -381,7 +378,7 @@ Executable cpsa4json Main-Is: CPSA/JSON/Main.hs Default-Language: Haskell2010- Build-Depends: base+ Build-Depends: base >= 3 && < 5 GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -392,7 +389,7 @@ Executable cpsa4init Main-Is: CPSA/Init/Main.hs Default-Language: Haskell2010- Build-Depends: base, directory+ Build-Depends: base >= 3 && < 5, directory GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -402,7 +399,7 @@ Executable cpsa42latex Main-Is: CPSA/Latex/Main.hs Default-Language: Haskell2010- Build-Depends: base+ Build-Depends: base >= 3 && < 5 GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -450,7 +447,7 @@ Executable cpsa4debranch Main-Is: CPSA/Debranch/Main.hs Default-Language: Haskell2010- Build-Depends: base+ Build-Depends: base >= 3 && < 5 GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -461,7 +458,7 @@ Executable cpsa4query Main-Is: CPSA/Query/Main.hs Default-Language: Haskell2010- Build-Depends: base, containers+ Build-Depends: base >= 3 && < 5, containers GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src@@ -487,11 +484,22 @@ Executable cpsa4dbprolog Main-Is: CPSA/DbProlog/Main.hs Default-Language: Haskell2010- Build-Depends: base, containers+ Build-Depends: base >= 3 && < 5, containers GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src Other-Modules: Paths_cpsa CPSA.Lib.SExpr CPSA.Lib.Pretty CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Utilities- ++Executable cpsa4dl+ Main-Is: CPSA/DL/Main.hs+ Default-Language: Haskell2010+ Build-Depends: base >= 3 && < 5, containers+ GHC-Options:+ -Wall -fno-warn-name-shadowing -fwarn-unused-imports+ Hs-Source-Dirs: src+ Other-Modules:+ Paths_cpsa CPSA.Lib.SExpr CPSA.Lib.Pretty CPSA.Lib.Printer+ CPSA.Lib.Entry CPSA.Lib.Utilities CPSA.DL.Structs+ CPSA.DL.Loader CPSA.DL.Prolog CPSA.DL.Compiler CPSA.DL.Simplifier
doc/cpsa4.mk view
@@ -35,4 +35,8 @@ %.tex: %.txt cpsa4graph -l -m 62 -o $@ $< +# Generate a Prolog database from a CPSA output file+%.pl: %.txt+ cpsa4db $(DBFLAGS) $< | cpsa4dbprolog | sort > $@+ .PRECIOUS: %.txt %_shapes.txt
doc/cpsa4manual.pdf view
binary file changed (1062598 → 1049166 bytes)
+ doc/cpsa4prolog.pl view
@@ -0,0 +1,163 @@+% -*- mode: prolog -*-++%% Library of predicates for analyzing cpsa4dbprolog output++%% The cpsa4db and cpsa4dbprolog programs are used to analyze the+%% output of cpsa4. They translate cpsa4 output into a Prolog database+%% that captures the essential features of the output in a form that+%% can be queried using all of the power and flexibility of Prolog.++%% cpsa4db assembles the skeletons in the output into a forest of+%% derivation trees. cpsa4dbprolog then prints the forest in Prolog+%% syntax. To be loadable by Prolog, the output must be sorted so+%% that clauses of one predicate are colocated. The sorting program+%% provided in all dialects of Unix does the job.++%% The output should be used by SWI Prolog as strings must not be+%% atoms. Load the file generated by cpsa4prolog using consult/1.+%% Next load your query. This file contains useful predicates that+%% may help formulate your query. The comments for each predicate are+%% intended help users understand the output format.++%% Copyright (c) 2024 The MITRE Corporation++%% 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.++%% PATHS++%% The predicate path(L, Ls) is true if Ls is a path through the+%% derivation tree that starts with label L and ends with the label of+%% a skeleton that is at the root of the tree that contains L. The+%% path predicate uses the step/3 predicate to determine if a skeletion+%% was derived from another skeleton.++%% The step predicate defines a transition relation for individual+%% cpsa4 steps. step(P, O, L) is true if a cpsa4 step that started at+%% the skeleton labeled P produced a skeleton labeled L using the+%% operation O. Notice that the same skeleton can appear as the+%% result of a step starting at different skeletons. This means the+%% path predicate can find more than one path to the root.++%% For the path predicate, the operation field information is not+%% used.++path(L, [L]) :-+ root(L).++path(L, [L|Ls]) :-+ step(P, _, L),+ path(P, Ls).++%% A derivation tree is really a directed acyclic graph. If the links+%% used for seen children are removed, the derivation tree becomes a+%% true tree--every child has exactly one parent. The child/2+%% predicate encodes that relation. It is used to traverse the tree+%% without revisiting a skeleton twice. One can use it to count the+%% number of skeletons in a tree, for example. Here we use it to find+%% the terminal skeletons without deplicates. A terminal node is one+%% that has no successors.++terminal(L) :-+ step(L, _, _), !,+ fail.+terminal(_).++acc(W, W).+acc(W, X) :-+ child(W, Y),+ acc(Y, X).++%% A query to find the terminal skeletons using these predicates follows.++%% ask(L) :-+%% root(W), acc(W, L), terminal(L).++%% SKELETON ASSOCIATION LISTS++%% The body of a skeleton is available as an association list. It can+%% be queried using has_key_val(L, K, V), where L is a skeleton label,+%% K is a key, and V is its value.++has_key_val(L, K, V) :-+ skel(L, A),+ assoc(A, K, V).++assoc([[K | V] | _], K, V).+assoc([_ | A], K, V) :-+ assoc(A, K, V).++%% A query to find the labels of skeletons that are not eventually+%% dead follows.++%% ask(L) :-+%% root(W), acc(W, L), acc(L, X), terminal(X), \+has_key_val(X, dead, _).++%% ask_all(Ls) :-+%% findall(L, ask(L), Ls).++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+%% Clauses for the Dynamic Logic Runtime+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%++falsehood(_) :-+ false.++truth(_) :-+ true.++equal(_, A, A).++%%% Node TWA++ntwa(Ka, [Sa, I], O, Kb, [Sb, I]) :-+ stwa(Ka, Sa, O, Kb, Sb).++%%% Plus step -- one or more steps++step_plus(Ka, [O], Kb) :-+ step(Ka, O, Kb).+step_plus(Ka, [O|Os], Kb) :-+ step(Ka, O, Kc),+ step_plus(Kc, Os, Kb).++mtwa_plus(Ka, Ma, [O], Kb, Mb) :-+ mtwa(Ka, Ma, O, Kb, Mb).+mtwa_plus(Ka, Ma, [O|Os], Kb, Mb) :-+ mtwa(Ka, Ma, O, Kc, Mc),+ mtwa_plus(Kc, Mc, Os, Kb, Mb).++stwa_plus(Ka, Ma, [O], Kb, Mb) :-+ stwa(Ka, Ma, O, Kb, Mb).+stwa_plus(Ka, Ma, [O|Os], Kb, Mb) :-+ stwa(Ka, Ma, O, Kc, Mc),+ stwa_plus(Kc, Mc, Os, Kb, Mb).++ntwa_plus(Ka, Ma, [O], Kb, Mb) :-+ ntwa(Ka, Ma, O, Kb, Mb).+ntwa_plus(Ka, Ma, [O|Os], Kb, Mb) :-+ ntwa(Ka, Ma, O, Kc, Mc),+ ntwa_plus(Kc, Mc, Os, Kb, Mb).++%% Star step -- zero or more steps++step_star(K, [], K).+step_star(Ka, [O|Os], Kb) :-+ step(Ka, O, Kc),+ step_star(Kc, Os, Kb).++mtwa_star(K, M, [], K, M).+mtwa_star(Ka, Ma, [O|Os], Kb, Mb) :-+ mtwa(Ka, Ma, O, Kc, Mc),+ mtwa_star(Kc, Mc, Os, Kb, Mb).++stwa_star(K, M, [], K, M).+stwa_star(Ka, Ma, [O|Os], Kb, Mb) :-+ stwa(Ka, Ma, O, Kc, Mc),+ stwa_star(Kc, Mc, Os, Kb, Mb).++ntwa_star(K, M, [], K, M).+ntwa_star(Ka, Ma, [O|Os], Kb, Mb) :-+ ntwa(Ka, Ma, O, Kc, Mc),+ ntwa_star(Kc, Mc, Os, Kb, Mb).
doc/cpsauser.html view
@@ -70,6 +70,8 @@ and <code>cpsa4dbprolog</code></a> programs translate CPSA output into Prolog so it can be analyzed using the power and flexibility of Prolog.+ The <a href="#cpsadl"><code>cpsa4dl</code></a> program generates+ Prolog queries written in a dynamic logic. Finally, the <a href="#cpsa42latex"><code>cpsa42latex</code></a> program translates CPSA macros into equivalent LaTeX macros.</p>@@ -101,8 +103,11 @@ </blockquote> <p id="make"> The <a href="#cpsainit"><code>cpsa4init</code></a>- program creates the file <a href="cpsa4.mk"><code>cpsa4.mk</code></a>- for inclusion into your makefile. A sample makefile is also created.</p>+ program creates the+ file <a href="cpsa4.mk"><code>cpsa4.mk</code></a> for inclusion into+ your makefile. A sample makefile is also created. The+ file <a href="cpsa4prolog.pl"><code>cpsa4prolog.pl</code></a> is+ also added to facilitate the analysis of outputs using Prolog.</p> <p>The CPSA program is <a href="http://www.gnu.org/software/emacs/">Emacs</a> friendly.@@ -1212,11 +1217,20 @@ <p>The generated Prolog must be used with a dialect of Prolog in which strings are not be atoms, such as SWI Prolog and not GNU Prolog. Load the file using <code>consult/1</code>. Next load your query.- The file <code>src/cpsa4prolog.pl</code> in a source distribution+ The file <a href="cpsa4prolog.pl"><code>cpsa4prolog.pl</code></a> contains useful predicates that may help formulate your query. The comments for each predicate are intended help users understand the output format.</p> +<p>Most Prolog implementations allow one to use list notation to+ easily consult several files. If your database is+ called <code>db.pl</code>, and your query is+ called <code>query.pl</code>, you can load all three files with:</p>++<blockquote>+ <pre>?- ['db.pl', 'cpsa4prolog.pl', 'query.pl'].</pre>+</blockquote>+ <h3>Usage</h3> <blockquote>@@ -1231,6 +1245,70 @@ <blockquote> <pre>$ cpsa4dbprolog [OPTIONS] [FILE]+ -o FILE --output=FILE output FILE+ -m INT --margin=INT set output margin (default 72)+ -h --help show help message+ -v --version show version number</pre>+</blockquote>++<h2 id="cpsadl">Using Dynamic Logic to Generate Prolog Queries</h2>++<p>The <code>cpsa4dl</code> program translates parts of queries+ written in the dynamic logic into Prolog. Parts of queries that+ make use of the fact that descendents of a skeleton that are related+ to the ancestor by a homomorphism can be produced automatically by+ specifying those parts in the dynamic language and translating the+ result into Prolog.</p>++<p>Each step in a CPSA output contains some direct children and seen+ children. When a direct descendent in derived using an+ authentication test, there is a homomorphism from the parent to the+ descendent, that is, all of the structure in the parent is contained+ in the descendent. When a direct descendent is derived using+ generalization, there is a homomorphism from the descendent to the+ parent.</p>++<p>The dynamic logic implemented provides the usual logical operators+ for specifying properties of a skeleton. Queries that only use+ them might as well be written directly in Prolog.</p>++<p>What is special about the dynamic logic is it includes the diamond+ and box operators that map formulas about descendents of a skeleton+ using homomorphisms. For example, if the parent contains the+ message variable <code>a</code>, and it is mapped to the+ message variable <code>b</code> in the descendent by the homomorphism,+ the generated code knows how to honor the mapping.</p>++<p>A diamond operator applied to a formula is satisfied when the+ formula is satisfied by at least one of the current formula's direct+ descendents. A box operator applied to a formula is satisfied when+ the formula is satisfied by all of the current formula's direct+ descendents. When the action associated with a dynamic operator+ is <code>plus</code>, then the operator is applied to all of the+ skeleton's descendents. The syntax of a dynamic logic query is:</p>++<blockquote>+ <pre>QUERY ::= (defquery (SYMBOL DECL*) FORM+)+DECL ::= (SYMBOL SORT)+SORT ::= mesg | strd | node | othr+FORM ::= (SYMBOL TERM*)+ | (and FORM+)+ | (or FORM+)+ | (exists (DECL*) FORM)+ | (forall (DECL*) FORM)+ | (diamond ACT FORM)+ | (box ACT FORM)+TERM ::= SYMBOL | STRING | INTEGER | (INTEGER INTEGER)+ACT ::= one | plus | star</pre>+</blockquote>++<p>The constant "_" is treated specially and is translated as a Prolog+ anonymous variable.</p>++<h3>Usage</h3>++<blockquote>+ <pre>$ cpsa4dl [OPTIONS] [FILE] -o FILE --output=FILE output FILE -m INT --margin=INT set output margin (default 72) -h --help show help message
doc/src/cpsa4manual/algorithm.tex view
@@ -1,7 +1,7 @@ \chapter{The CPSA Search Algorithm} \label{ch:algorithm} -The result of running the \texttt{cpsashape} tool is a file that+The result of running the \texttt{cpsa4shape} tool is a file that contains only ``shapes'', which include all essential structures possible in executions of the protocol under the conditions input to the analysis. Although this output contains the most important
doc/src/cpsa4manual/basic.tex view
@@ -269,7 +269,7 @@ \section{CPSA output} When we run the {\cpsa} tool on the Needham-Schroeder input file, and-then run the \texttt{cpsagraph} graphing tool on the result, we obtain+then run the \texttt{cpsa4graph} graphing tool on the result, we obtain a .xhtml file that can be viewed in a web browser. The \texttt{ns.xhtml} file in the examples directory contains these results.
doc/src/cpsa4manual/channels_state.tex view
@@ -555,10 +555,10 @@ transition ordered with respect to one end of a leads-to arrow has the corresponding weak ordering with respect to the other end. -Their concrete form may be found in the output of {\cpsa}-specifications using state, such as~\texttt{examples/open-closed.tst},-although {\cpsa} refers to them as the \texttt{shearsRule} and-\texttt{invShearsRule}, resp.+% Their concrete form may be found in the output of {\cpsa}+% specifications using state, such as~\texttt{examples/open-closed.tst},+% although {\cpsa} refers to them as the \texttt{shearsRule} and+% \texttt{invShearsRule}, resp. \subsection{Consequences of the axioms} \label{sec:channels:state:consequences}@@ -840,6 +840,7 @@ written by the specifier, as described in Section~\ref{sec: rules}. Finally, the third kind of rule concerns \emph{critical sections}.+These are generated automatically for each state segment. % \begin{figure}\small %@@ -853,11 +854,10 @@ (stor ls (door-state d (closed o))) (send (enc "up" k))) (auth ch)- (critical-sections (1 4)) (facts (same-dev ls lk))) \end{verbatim} %- \caption{Critical section declaration}+ \caption{State segments are critical sections} \label{fig:critical:section} \end{figure} %@@ -880,19 +880,16 @@ \label{fig:critical:section:rules} \end{figure} %-A critical section declaration in the definition of a role takes the-form \texttt{(critical-sections (i j))}, where the trace must have a-state segment that starts at or before event \emph{i} and ends at or-after event $j$, where these are 0-based indices. It implies that any-node that precedes one of the load events must precede all of them.-Any node that follows one of the store events must follow all of them.-Thus for instance in Fig.~\ref{fig:critical:section}, the load events-at indices 1, 2 and the store events at indices 3, 4 occur with-transaction-like atomicity. This declaration would cause {\cpsa} to-generate the rules in Fig.~\ref{fig:critical:section:rules}. They are-of value only when the state segment has multiple loads or multiple-stores. In this particular example, the critical section declaration-does not in fact make a difference to the analysis. +These generated rules imply that any node that precedes one of the+events in a state segments must precede all of them. Any node that+follows one of the store events must follow all of them. Thus for+instance in Fig.~\ref{fig:critical:section}, the load events at+indices 1, 2 and the store events at indices 3, 4 occur with+transaction-like atomicity. {\cpsa} generates the rules in+Fig.~\ref{fig:critical:section:rules}. They are of value only when+the state segment has multiple loads or multiple stores. In this+particular example, the critical section declaration does not in fact+make a difference to the analysis. % \label{state:gen:rules:end}
doc/src/cpsa4manual/goals.tex view
@@ -33,8 +33,12 @@ goal&$\leftarrow$&(\sym{defgoal} id sentence+ alist) \\ sentence&$\leftarrow$&(\sym{forall} (gvdecl$\ast$) implication) \\ gvdecl&$\leftarrow$&(id+ sort)~$\mid$~(id+ \sym{strd})~$\mid$~(id+ \sym{indx})+ \\ vmap&$\leftarrow$&(id id) \\ implication&$\leftarrow$&(\sym{implies} conjunction conclusion)- \\ conjunction&$\leftarrow$&atomic~$\mid$~(\sym{and} atomic+)+ %\\ conjunction&$\leftarrow$&atomic~$\mid$~(\sym{and} atomic+)+ \\ conjunction&$\leftarrow$&conjunct~$\mid$~(\sym{and} conjunct+)+ \\ conjunct&$\leftarrow$&atomic~$\mid$~(\sym{strand} id strdvar integer (vmap$\ast$))%~$\mid$~(\sym{listener} id)+ \\ &$\mid$& (\sym{listener} strdvar id) \\ conclusion&$\leftarrow$&(\sym{false})~$\mid$~existential \\ &$\mid$& (\sym{or} existential+) \\ existential&$\leftarrow$&conjunction~$\mid$~(\sym{exists} (gvdecl$\ast$) conjunction)@@ -182,7 +186,7 @@ a \texttt{satisfies} S-expression indicating whether the goal is met or not. -The tool \texttt{cpsagoalsat} will examine the output from a {\cpsa}+The tool \texttt{cpsa4goalsat} will examine the output from a {\cpsa} run, and, for each goal formula, will determine whether the analysis ensures that the goal is met. If not, it identifies the labels of all the skeletons that furnish counterexamples to the goal. See@@ -511,18 +515,97 @@ \end{alltt} \end{quote} -The program \texttt{cpsasas}, discussed in the next section, can be+The program \texttt{cpsa4sas}, discussed in the next section, can be used to generate a formula with an antecedent such that the input skeleton is the characteristic skeleton of the antecedent. -\subsection{Shape Analysis Sentences}\label{sec:sas}+\section{Syntactic Abbreviations}\label{sec:var syntax}+Section~\ref{sec:semantics} described how {\cpsa} extracts +\begin{quote}+\begin{verbatim}+(defstrand init 3 (a a) (b b) (n1 n1) (n2 n2))+\end{verbatim}+\end{quote}+from the following conjunction of facts+\begin{quote}+\begin{verbatim}+(and (p "init" z0 3)+ (p "init" "n1" z0 n1) (p "init" "b" z0 b)).+\end{verbatim}+\end{quote}++Using a conjunction of facts to represent a single \texttt{defstrand}+is convenient for defining and implementing a clear semantics, however+it can be quite cumbersome and error prone to specify these+conjunctions. We therefore also provide support for syntactic sugar in+the goal language to allow users to represent these conjunctions in a+manner much closer to the \texttt{defstrand} form found in a+skeleton. In particular, the user can write++\begin{quote}+\begin{verbatim}+(strand init z0 3 (n1 n1) (b b))+\end{verbatim}+\end{quote}+as a single conjunct in a formula, and {\cpsa} will ingest it with the+same interpretation as if the user had entered+\begin{quote}+\begin{verbatim}+(and (p "init" z0 3)+ (p "init" "n1" z0 n1) (p "init" "b" z0 b)).+\end{verbatim}+\end{quote}++Thus the goal in Fig.~\ref{fig:ns init} could therefore be written as+follows instead:++\begin{quote}+\begin{verbatim}+(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 node))+ (strand resp z1 2 (b b)))))).+\end{verbatim}+\end{quote}++This representation has the benefit of being syntactically quite close+to the skeleton representation, and therefore the connection is more+visually obvious to the user. Notice the crucial difference that the+\texttt{(strand \ldots)} form includes a strand variable+after the name of the role. While such a variable is not needed for+skeletons, it is required in formulas to allow other facts to+reference the strand it represents.++We also provide a similar abbreviation for listener strands. Instead+of writing++\begin{quote}+\begin{verbatim}+(and (p "" z0 1) (p "" "x" z0 n1))+\end{verbatim}+\end{quote}+we can write the following instead+\begin{quote}+\begin{verbatim}+(listener z0 n1).+\end{verbatim}+\end{quote}++These abbreviations can be used both in goals and in rules (described+below in Section~\ref{sec: rules}).++\section{Shape Analysis Sentences}\label{sec:sas}+ A shape analysis sentence expresses all that can be learned from a run of {\cpsa} as a security goal. If a security goal can be derived from a shape analysis sentence, then the protocol achieves the security goal, that is, the goal is true in all executions of the protocol. -The program \texttt{cpsasas} extracts shape analysis sentences from+The program \texttt{cpsa4sas} extracts shape analysis sentences from the output of {\cpsa}. Consider the first example in this paper (Figure~\ref{fig:ns init}), which is in the sample file \texttt{goals.scm}. To generate a maximally informative security goal@@ -565,9 +648,14 @@ shape analysis sentence~\cite{Ramsdell12}. In practice, theorem-proving using shape analysis sentences is rarely employed. It's clumsy and it requires too much expertise. The main use of-\texttt{cpsasas} is for generating a formula that is edited to become+\texttt{cpsa4sas} is for generating a formula that is edited to become a desired security goal. +In general, {\cpsa} will not use the syntactic abbreviations of the+previous section in its output, preferring instead the fully+elaborated conjunction of facts. So the shape analysis sentences will+not contain these abbreviations.+ \section{Rules}\label{sec: rules} Support for rules was introduced in version 3.6.0 of {\cpsa}.@@ -797,6 +885,57 @@ \texttt{doc/rules.scm} and see. You should find that the protocol does its job; namely, ensuring that the door opens only when an authorized person requests it to open.++\paragraph{A trick to control rules.} Sometimes, one would like to+explore two versions of a protocol: One that contains a particular+rule, and another that doesn't. Some {\cpsa} queries should be+executed with the rule in force, and others without the rule. For+instance, one may want to know which security properties hold even+without the assumption made in the rule. ++To do this, one can add a sort of flag to the rule as an additional+premise. For instance, in the DoorSEP case, we could have written the+rule as shown in Fig.~\ref{fig:doorsep:alt}, with the additional+premise \texttt{(fact use-trust-rule)}. ++\begin{figure}+ \centering+ \begin{verbatim} (defrule trust-sometimes+ (forall ((z strd) (p d akey))+ (implies+ (and (fact use-trust-rule)+ (p "person" z 1)+ (p "person" "p" z p)+ (p "person" "d" z d)+ (non (invk p)))+ (non (invk d))))+ (comment "The trust rule. Assume (fact use-trust-rule) to enable it"))++. . .++(defskeleton doorsep+ (vars (p akey))+ (defstrand door 3 (p p))+ (non-orig (invk p))+ (facts (use-trust-rule))+ (comment "Analyze from the doors perspective, with trust rule"))+\end{verbatim}+%+ %+ \caption{Rule with a flag to control its use}+ \label{fig:doorsep:alt}+\end{figure}++Now, a query that should not use the \texttt{trust-sometimes} rule can+be stated as usual, as in Fig.~\ref{fig:doorsep}. A query that should+use the rule can add the \texttt{use-trust-rule} fact to the+\texttt{defskeleton} form, as shown in Fig.~\ref{fig:doorsep:alt}. As+a consequence, the additional premise will be satisfied any time that+{\cpsa} would apply the rule.++This also illustrates the way that a fact that is written+\texttt{(fact use-trust-rule)} in a goal or rule is declared+\texttt{(facts (use-trust-rule))} in a \texttt{defskeleton} form. \subsection{Generated rules} \label{sec:goals:rules:gen}
doc/src/cpsa4manual/input.tex view
@@ -405,7 +405,7 @@ % \\ &$\mid$&(\sym{subsort} ht-subsort+) % \\ &$\mid$&(\sym{fn-of} ht-function+) % \\ &$\mid$&(\sym{decl} symbol ht-general+)-\\ &$\mid$&(\sym{critical-sections} (integer integer)+)+%\\ &$\mid$&(\sym{critical-sections} (integer integer)+) \\ &$\mid$&(\sym{priority} (height integer)+) \\ &$\mid$&(\sym{facts} (id term*)*)~$\mid$~(\sym{assume} conclusion*) \\ one-term-decl&$\leftarrow$&\sym{non-orig}~$\mid$~\sym{pen-non-orig}~$\mid$~\sym{uniq-orig}~$\mid$~\sym{uniq-gen}
doc/src/cpsa4manual/intro.tex view
@@ -77,23 +77,23 @@ The distribution includes a number of separate executable command-line tools. Of these, three are key components of the core expected-workflow: \texttt{cpsa}, \texttt{cpsagraph}, and \texttt{cpsashape}.+workflow: \texttt{cpsa4}, \texttt{cpsa4graph}, and \texttt{cpsa4shape}. The other tools are auxiliary utilities most general users will not-need to use, although \texttt{cpsadiff} is of some use to a general+need to use, although \texttt{cpsa4diff} is of some use to a general user when updating the tool. -The \texttt{cpsa} program takes as input one or more analysis problems+The \texttt{cpsa4} program takes as input one or more analysis problems (at least, a protocol and a partial description of an execution), and analyzes them one at a time. It outputs the full, step-by-step analysis for each problem, ultimately describing all possible full executions that complete the partial execution. -The \texttt{cpsashape} program takes an analysis and reduces it to an+The \texttt{cpsa4shape} program takes an analysis and reduces it to an analysis that skips directly from analysis input to the set of shapes associated with that input. -The \texttt{cpsagraph} program takes an analysis (from either-\texttt{cpsa} or \texttt{cpsashape}) and formats it into an+The \texttt{cpsa4graph} program takes an analysis (from either+\texttt{cpsa4} or \texttt{cpsa4shape}) and formats it into an \textsc{xhtml} file and includes \textsc{svg}(scalable vector graphics) diagrams of each partial execution as well as the overall branching pattern of the analysis.@@ -112,19 +112,19 @@ %\section{Overview} % %A {\cpsa} release includes several programs, an analyzer, and various-%tools used to interpret the results. The analyzer, \texttt{cpsa},+%tools used to interpret the results. The analyzer, \texttt{cpsa4}, %provides support for several algebras, one of which is the Basic %Crypto Algebra. Programs that assist in the interpretation of results-%are \texttt{cpsashape} and \texttt{cpsagraph}. The analyzer prints-%the steps it used to solve each problem. The \texttt{cpsashapes}+%are \texttt{cpsa4shape} and \texttt{cpsa4graph}. The analyzer prints+%the steps it used to solve each problem. The \texttt{cpsa4shapes} %program extracts the shapes discovered by an analyzer run. The-%\texttt{cpsagraph} program graphs both forms of output using Scalable+%\texttt{cpsa4graph} program graphs both forms of output using Scalable %Vector Graphics~(\textsc{svg}). A standards-compliant browser such as %FireFox or Safari displays the generated diagrams. The expected work flow follows. An analysis problem is entered using an ordinary text editor, preferably one with support for Lisp syntax.-The \texttt{cpsa} program uses an S-expression-based syntax for both+The \texttt{cpsa4} program uses an S-expression-based syntax for both input and output. S-expression is an abbreviation for a Symbolic Expression (as in the Lisp programming language). @@ -135,7 +135,7 @@ protocol. %Protocols that specify \texttt{basic} as their algebra get %an implementation of the Basic Crypto Algebra~(\textsc{bca}) described-%in the next section. A complete grammar for \texttt{cpsa} input is+%in the next section. A complete grammar for \texttt{cpsa4} input is %displayed in Table~\ref{tab:syntax} on Page~\pageref{tab:syntax}. %Problem statement errors in the input are detected by running the@@ -151,11 +151,11 @@ Assuming there are no errors in the input, the analyzer will produce output as a text document. The text document contains each step used to derive a shape from a problem statement.-It is common to filter the output using the \texttt{cpsashapes}+It is common to filter the output using the \texttt{cpsa4shapes} program, and look only at the computed shapes associated with each problem statement. -The \texttt{cpsagraph} program is applied to the output to produce a+The \texttt{cpsa4graph} program is applied to the output to produce a more readable, hyperlinked \textsc{xhtml} document that can be displayed in a standards-compliant web browser. See Chapter~\ref{ch:tools} for more information on the programs that come with a {\cpsa} distribution.@@ -163,7 +163,7 @@ % The guide is no longer maintained. % %% The {\cpsa} User Guide contains-%% the up-to-date description of \texttt{cpsagraph} generated documents.+%% the up-to-date description of \texttt{cpsa4graph} generated documents. %% The guide is also the place to find command-line usage information for %% all programs in a release. The user guide is an \textsc{xhtml} %% document delivered with the software.
doc/src/cpsa4manual/macros.tex view
@@ -3,7 +3,7 @@ {\setcounter{running}{\value{enumi}}\end{enumerate}} \newcommand{\cpsa}{\textsc{cpsa}}-\newcommand{\version}{4.4.5}+\newcommand{\version}{4.4.6} \newcommand{\cpsacopying}{\begingroup \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2016--2022 The MITRE Corporation. Permission to copy without fee all or part of
doc/src/cpsa4manual/setup.tex view
@@ -40,10 +40,10 @@ \url{http://github.com/mitre/cpsa} \end{center} -There is a directory named \texttt{cpsa} at the top-level of the+There is a directory named \texttt{cpsa4} at the top-level of the repository. It contains a copy of the {\cpsa} sources downloaded and compiled using \texttt{cabal}. On all platforms, to install from this-source, change into the \texttt{cpsa} directory and type:+source, change into the \texttt{cpsa4} directory and type: \begin{verbatim} $ cabal update@@ -54,13 +54,13 @@ \end{verbatim} Alternatively, there are other install options described in-\texttt{README.txt} in the \texttt{cpsa} directory.+\texttt{README.txt} in the \texttt{cpsa4} directory. \section{Finding Documentation} {\cpsa} comes with documentation, but it can be difficult to locate by hand when the tool has been installed through cabal. Run -\texttt{\$ cpsa -h}+\texttt{\$ cpsa4 -h} \noindent to see the program's help message, including the documentation@@ -71,22 +71,22 @@ To analyze a protocol you have put in prob.scm type: \begin{verbatim}-$ cpsa -o prob.txt prob.scm-$ cpsashapes -o prob_shapes.txt prob.txt-$ cpsagraph -o prob_shapes.xhtml prob_shapes.txt+$ cpsa4 -o prob.txt prob.scm+$ cpsa4shapes -o prob_shapes.txt prob.txt+$ cpsa4graph -o prob_shapes.xhtml prob_shapes.txt \end{verbatim} See Section~\ref{sec:options} for command-line options. -The \texttt{cpsashapes} command is optional, but recommended; it cuts+The \texttt{cpsa4shapes} command is optional, but recommended; it cuts down {\cpsa}'s output to only show final results. Unless you're doing detailed debugging, using it will make the output much easier to read. -To analyze a protocol without using the \texttt{cpsashapes} comment, type:+To analyze a protocol without using the \texttt{cpsa4shapes} command, type: \begin{verbatim}-$ cpsa -o prob.txt prob.scm-$ cpsagraph -o prob.xhtml prob.txt+$ cpsa4 -o prob.txt prob.scm+$ cpsa4graph -o prob.xhtml prob.txt \end{verbatim} The .xhtml results can be opened in a web browser.@@ -95,7 +95,7 @@ A {\cpsa} project is a directory containing some {\cpsa} input files and items that orchestrate the use of the various {\cpsa} tools. To-create a project, in a fresh directory, run \texttt{cpsainit}.+create a project, in a fresh directory, run \texttt{cpsa4init}. \begin{verbatim} $ mkdir project@@ -104,15 +104,12 @@ Created Makefile Created cpsa.mk Created Make.hs-Created template.lisp+Created cpsa4prolog.pl \end{verbatim} -The \texttt{cpsainit} will not overwrite a file if it is already-present in the current directory. The file \texttt{template.lisp}-contains a starting point for writing {\cpsa} input files. Rename the-file to one that uses the \texttt{.scm} extension and fill in the-holes. The distribution provides two ways to relieve users of the-tedium of issuing individual commands.+The \texttt{cpsa4init} will not overwrite a file if it is already+present in the current directory. The distribution provides two ways+to relieve users of the tedium of issuing individual commands. \subsection{Using the {\cpsa} Makefile} @@ -136,7 +133,7 @@ %% \end{figure} %% The easiest way to orchestrate {\cpsa} programs is to use GNU make.-%% The distribution comes with the file \texttt{cpsa.mk} for inclusion+%% The distribution comes with the file \texttt{cpsa4.mk} for inclusion %% into your makefile. Figure~\ref{fig:makefile} contains a sample %% makefile. If you cut-and-paste, be sure to convert the leading spaces %% in the last line into a tab character. To analyze protocols, copy@@ -145,7 +142,7 @@ The easiest way to orchestrate {\cpsa} programs is to use GNU make. A {\cpsa} project contains the files \texttt{Makefile} and-\texttt{cpsa.mk}. To analyze the problems in your project, type+\texttt{cpsa4.mk}. To analyze the problems in your project, type \texttt{make}. Edit the file \texttt{Makefile} to adjust program flags to suit your needs. For example, you many want to enable the use of multiple processors during protocol analysis as described in@@ -181,10 +178,10 @@ output, try running \texttt{clean}. Getting into the habit of running \texttt{clean} before \texttt{build} is a good idea. \end{itemize}-\item \texttt{cpsa} \texttt{"\textit{protocolname}"} Run {\cpsa} on just the+\item \texttt{cpsa4} \texttt{"\textit{protocolname}"} Run {\cpsa} on just the protocol provided. Note that the file extension (.scm) should \textit{not} be included in the name; if your protocol is in- \texttt{foo.scm}, you would run \texttt{cpsa "foo"}. Most useful if you+ \texttt{foo.scm}, you would run \texttt{cpsa4 "foo"}. Most useful if you have an exceptionally large number of protocols in a single directory. \item \texttt{:q} Quit.
doc/src/macros.tex view
@@ -1,5 +1,5 @@ \newcommand{\cpsa}{\textsc{cpsa}}-\newcommand{\version}{4.4.5}+\newcommand{\version}{4.4.6} \newcommand{\cpsacopying}{\begingroup \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2010 The MITRE Corporation. Permission to copy without fee all or part of
src/CPSA/Algebra.hs view
@@ -134,6 +134,8 @@ compose, absentEnv, substDomainWithin,+ substInvertibleOn,+ substInvertibly, Env, emptyEnv,@@ -146,7 +148,9 @@ substitution, strandBoundEnv, renamerAndNewVars,+ envIdentityOnVars, reify,+ matchRename, substUpdate, strdMatch, strdLookup,@@ -304,7 +308,9 @@ Just c -- so add a mapping g (b, c) (Just (b', c')) -- Variable x maps to c' | b /= b' = assertError- ("Algebra.mul: sort mismatch " ++ show t ++ " - " ++ show t')+ ("Algebra.mul: sort mismatch " +++ show t ++ show " times " ++ show t' +++ ": " ++ show b ++ " vs " ++ show b') | c + c' == 0 = Nothing -- Delete the mapping | otherwise = Just $ (b, c + c') -- Adjust the mapping @@ -1395,6 +1401,20 @@ where dom = substDomain subst +substInvertibly :: Gen -> Subst -> Term -> Maybe Term+substInvertibly gen subst t =+ case match ts t (gen,emptyEnv) of+ [] -> Nothing+ _ -> Just ts + where+ ts = substitute subst t++substInvertibleOn :: Gen -> Subst -> Term -> Bool+substInvertibleOn gen subst t =+ case substInvertibly gen subst t of+ Nothing -> False+ Just _ -> True + -- Composition of substitutions -- substitute (compose s0 s1) t = substitute s0 (substitute s1 t)@@ -1722,6 +1742,10 @@ else Env (l, M.insert (varId p) v r) +envIdentityOnVars :: [Term] -> Env+envIdentityOnVars vars =+ envOfParamVarPairs $ L.zip vars vars+ -- Apply a substitution to the range of an environment substUpdate :: Env -> Subst -> Env substUpdate (Env (x, r)) s =@@ -2301,6 +2325,29 @@ loop (X x : _) (y, t) | x == y = (X x, t) loop (_ : domain) pair = loop domain pair++-- Extend the given Generator/Environment pair to list of such pairs+-- that map t to t' with range consisting only of vars; test that+-- there's a reverse map with range only variables++matchRename :: Term -> Term -> GenEnv -> [GenEnv]+matchRename t t' ge =+ case filter matchRangeIsVars $ match t t' ge of + [] -> []+ cands ->+ (case filter matchRangeIsVars $ match t' t ge of+ [] -> []+ _ -> cands)++matchRangeIsVars :: GenEnv -> Bool+matchRangeIsVars (_, (Env (_, env))) =+ allMap isVar env+ where+ allMap pred =+ M.foldr (\v soFar -> soFar && pred v) True++ + strdMatch :: Term -> Int -> GenEnv -> [GenEnv] strdMatch t p env = match t (Z p) env
src/CPSA/Channel.hs view
@@ -7,7 +7,7 @@ -- University of California. module CPSA.Channel (ChMsg (..), cmTerm, cmTerms, cmMap, cmChan,- cmMatch, cmUnify, cmtSubstitute,+ cmMatch, cmMatchRename, cmUnify, cmtSubstitute, cmFoldCarriedTerms, CMT (..), cmtMap, cmtTerms, cmtUnify, cmtTerm,@@ -59,6 +59,16 @@ ge <- match ch ch' ge match t t' ge cmMatch _ _ _ = []++-- Match insisting on renamings+cmMatchRename :: ChMsg -> ChMsg -> (Gen, Env) -> [(Gen, Env)]+cmMatchRename (Plain t) (Plain t') ge =+ matchRename t t' ge+cmMatchRename (ChMsg ch t) (ChMsg ch' t') ge =+ do+ ge <- matchRename ch ch' ge+ matchRename t t' ge+cmMatchRename _ _ _ = [] -- Unification
src/CPSA/Characteristic.hs view
@@ -176,8 +176,8 @@ foldl (flip adjoin) ar $ inheritRpnon i, foldl (flip adjoin) ur $ inheritRunique i, foldl (flip adjoin) ug $ inheritRuniqgen i,- foldl (flip adjoin) au $ inheritRconf i,- foldl (flip adjoin) cf $ inheritRauth i,+ foldl (flip adjoin) cf $ inheritRconf i,+ foldl (flip adjoin) au $ inheritRauth i, foldl (flip adjoin) ab $ inheritRabsent i) mkPrec :: [(Term, Sid)] -> (Pos, AForm) -> [Pair] -> [Pair]
src/CPSA/Cohort.hs view
@@ -5,6 +5,13 @@ -- 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 @@ -20,6 +27,7 @@ {-- Debugging support import System.IO.Unsafe+import Control.DeepSeq z :: Show a => a -> b -> b z x y = unsafePerformIO (print x >> return y)@@ -27,6 +35,49 @@ zShow :: Show a => a -> a zShow x = z (show x) x +kShow :: Preskel -> Preskel +kShow k = + if L.length (strands k) == 5 then + zShow k+ else + k +goodParent :: Preskel -> Bool+goodParent k = + let xs = insts k in + (L.length xs == 5) &&+ ("short-init" == (rname $ role (xs !! 2))) &&+ ("short-short-init" == (rname $ role (xs !! 3))) &&+ ("resp" == (rname $ role (xs !! 4)))++goodChild :: Preskel -> Bool +goodChild k = + let xs = insts k in + L.length xs == 4 &&+ "short-short-init" == (rname $ role (xs !! 2)) &&+ "resp" == (rname $ role (xs !! 3))++tShow1 :: Show a => Preskel -> Preskel -> a -> Preskel +tShow1 k k' _ = + if goodParent k && goodChild k' then + z (show ("parent", k)) 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 = + if goodParent k && goodChild k' then + z (show ("mapping", m)) m+ else + m+ zz :: Show a => a -> a zz x = z x x @@ -300,18 +351,25 @@ reduceNoTest :: Mode -> Preskel -> ReduceRes reduceNoTest mode k =- case simplify k of+ if omitGeneralization || noGeneralization mode then Stable+ else+ (case maximize k of --filterSame k (maximize k) of+ [] -> Stable+ ks -> Gnl ks)+ {- case [k] -- simplify (k { operation = AppliedRules (strandids k),+ -- krules = [] })+ of [k'] | isomorphic (gist k) (gist k') -> if omitGeneralization || noGeneralization mode then Stable else- (case filterSame k (maximize k) of+ (case maximize k of [] -> Stable ks -> Gnl ks)- | True -> Crt [k']- ks -> Crt (mgsCall $ filterSame k ks)+ | True -> Crt [k'] -}+ {- ks -> Crt (mgsCall $ filterSame k ks) where- mgsCall ks = mgs $ map (\k -> (k,(getStrandMap $ operation k))) ks+ mgsCall ks = mgs $ map (\k -> (k,(getStrandMap $ operation k))) ks -} reduce :: Mode -> Preskel -> ReduceRes reduce mode k =@@ -319,10 +377,9 @@ Nothing -> reduceNoTest mode k Just ks -> -- normal cohort for selected unrealized node Crt (filterSame- k (parFoldr+ k (factorIsomorphicPreskels (parFoldr -- remove isomorphic duplcates *after* simplify (\k soFar -> (simplify k) ++ soFar)- []- $ factorIsomorphicPreskels ks))+ [] ks))) where (a, u) = avoid k @@ -768,16 +825,21 @@ maximize :: Preskel -> [Preskel] maximize k =- iter $ map recordMap $ generalize k+ iter $ -- factorIsomorphicPreskels $+ concatMap simplify $ map recordMap $ generalize k where iter [] = []- iter ((k',mapping) : rest) =- case specialization k k' mapping of- [] -> iter rest- -- Since specialization now simplifies, the ks are- -- automatically closed under the rules.- ks -> ks- recordMap (k, sm) = (updateStrandMap sm k, sm)+ 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.+ recordMap (k, sm) = --if sm == getStrandMap (operation kk)+ --then kk+ --else -- z (show $ getStrandMap (operation+ -- k)) $+ updateStrandMap sm k -- (, sm) -- Test to see if realized skeleton k is a specialization of -- preskeleton k' using the given strand mapping. Returns the@@ -793,8 +855,8 @@ case (realized k'') && (not (isomorphic (gist k) (gist k''))) && (refines k'' (pov k'') (prob k'')) && (refines k (Just k'') mapping) of- True -> simplify k'' -- maybeOK $- False -> []+ True -> [k''] -- maybeOK $+ False -> [] where realized = null . unrealized refines _ Nothing _ =@@ -803,16 +865,16 @@ not $ null $ homomorphism k' k mapping {-- Debugging apparatus:+ showSome k'' v =- if (5 == L.length (insts k)) && (1+L.length (insts k'') == L.length (insts k))+ if (5 == L.length (insts k)) && (1+L.length (insts k'') == L.length (insts k)+ && null (unrealized k'')) then (z ("length: " ++ (show (L.length (insts k''))) ++- ", unrealized: " ++ (show (unrealized k'')) ++- ", prev nodes: " ++ (show (addSendingBefore S.empty (vertex k'' (0,0)))) ++--- ", after: " ++ (show--- (cmsInNodes--- (addSendingBefore S.empty (vertex k'' (0,0))))) +++-- ", unrealized: " ++ (show (unrealized k'')) +++-- ", prev nodes: " ++ (show (addSendingBefore S.empty (vertex k'' (0,0)))) +++ ", map: " ++ (show (getStrandMap (operation k''))) ++ ", prob: " ++ (show (prob k'')) ++ ", POV OK: " ++ (show (refines k'' (pov k'') (prob k''))) ++ ", refines: " ++ (show (refines k (Just k'') mapping)) ++
+ src/CPSA/DL/Compiler.hs view
@@ -0,0 +1,108 @@+module CPSA.DL.Compiler where++import CPSA.DL.Structs+import CPSA.DL.Prolog++compileQuery :: MonadFail m => Id -> Gen -> Query -> m (Gen, [Clause])+compileQuery k g (Query sym ids f) =+ do+ (g', pl, cls) <- compileForm k g f+ return (g', Clause ((sym, map Var (k : ids)), [pl]) : cls)++compileForm :: MonadFail m => Id -> Gen -> Formula ->+ m (Gen, Body, [Clause])+compileForm k g (Atom _ sym ts) =+ return (g, PAtm (sym, Var k : ts), [])+compileForm k g (Not _ f) =+ do+ (g', b, cls) <- compileForm k g f+ let vs = fv f+ let (g'', sym, cl) = makeClause k g' vs b+ return (g'', PNot (PAtm (sym, map Var (k : vs))), cl : cls)+compileForm k g (And _ fs) =+ do+ (g', bs, cls) <- compileForms k g fs+ return (g', Conj bs, cls)+compileForm k g (Or _ fs) =+ do+ (g', bs, cls) <- compileForms k g fs+ return (g', Disj bs, cls)+compileForm k g (Exists _ _ f) =+ compileForm k g f+compileForm k g (Diamond _ act f) =+ do+ (g', b, cls) <- compileForm k g f+ let vs = fv f+ let (g'', sym, cl) = makeClause k g' vs b+ return $ compileStep k g'' (cl : cls) act sym vs++-- Compile a list of formulas.+compileForms :: MonadFail m => Id -> Gen -> [Formula] ->+ m (Gen, [Body], [Clause])+compileForms _ g [] =+ return (g, [], [])+compileForms k g (f : fs) =+ do+ (g', b, cls) <- compileForm k g f+ (g'', bs, cls') <- compileForms k g' fs+ return (g'', b : bs, cls ++ cls')++-- Generate a clause from some free variables and a body.+makeClause :: Id -> Gen -> [Id] -> Body -> (Gen, String, Clause)+makeClause k g vs body =+ (g', sym, Clause ((sym, map Var (k : vs)), [body]))+ where+ (g', sym) = predSym g++compileStep :: Id -> Gen -> [Clause] -> Act ->+ String -> [Id] -> (Gen, Body, [Clause])+compileStep k g cls act sym vs =+ (g'', Conj (step act : twas), cls)+ where+ (g', k') = cloneId g k+ (g'', tvs) = cloneVars g' vs+ step act =+ PAtm ("step" ++ actSuffix act, [Var k, Sym "O", Var k'])+ twas = compileTwas act k k' tvs+ [PAtm (sym, Var k' : map (Var . snd) tvs)]++cloneVars :: Gen -> [Id] -> (Gen, [(Id, Id)])+cloneVars g [] = (g, [])+cloneVars g (v : vs) =+ (g'', (v, v') : vs')+ where+ (g', vs') = cloneVars g vs+ (g'', v') = cloneVar g' v++cloneVar :: Gen -> Id -> (Gen, Id)+cloneVar g v =+ case idSort v of+ Mesg -> cloneId g v+ Strd -> cloneId g v+ Node -> cloneId g v+ Othr -> (g, v) -- Don't clone integers++compileTwas :: Act -> Id -> Id -> [(Id, Id)] -> [Body] -> [Body]+compileTwas _ _ _ [] bs = bs+compileTwas act k k' ((v, v') : tvs) bs =+ case idSort v of+ Othr -> bs'+ _ -> twaAtom act k v k' v' : bs'+ where+ bs' = compileTwas act k k' tvs bs++actSuffix :: Act -> String+actSuffix One = ""+actSuffix Plus = "_plus"+actSuffix Star = "_star"++twa :: Sort -> String+twa Mesg = "mtwa"+twa Strd = "stwa"+twa Node = "ntwa"+twa Othr = error "Bad TWA sort"++twaAtom :: Act -> Id -> Id -> Id -> Id -> Body+twaAtom act k v k' v' =+ PAtm (twa (idSort v) ++ actSuffix act,+ [Var k, Var v, Sym "O", Var k', Var v'])
+ src/CPSA/DL/Loader.hs view
@@ -0,0 +1,142 @@+module CPSA.DL.Loader (loadQuery) where++-- import Control.Monad+import Data.Char (toUpper)+import Data.List (nub, (\\))+import CPSA.Lib.SExpr+-- import CPSA.Lib.Utilities+import CPSA.DL.Structs++type Env = [(String, Id)]++loadQuery :: MonadFail m => Gen -> SExpr Pos -> m (Gen, Query)+loadQuery g (L _ (S _ "defquery" :+ L _ (S _ name : decls) :+ x : xs)) =+ do+ (g', env) <- loadDecls g decls+ (g'', body) <- loadForms g' env (x : xs)+ let free = nub (concat (map fv body))+ let name' = map toUnderScore name+ return (g'', Query name' (map snd env) (And free body))+loadQuery _ x =+ fail (shows (annotation x) " Malformed query")++loadDecls :: MonadFail m => Gen -> [SExpr Pos] -> m (Gen, Env)+loadDecls g [] =+ return (g, [])+loadDecls g (d : ds) =+ do+ (g', id) <- loadDecl g d+ (g'', e) <- loadDecls g' ds+ return (g'', (idName id, id) : e)++loadDecl :: MonadFail m => Gen -> SExpr Pos -> m (Gen, Id)+loadDecl g (L _ [S _ name, sort]) =+ do+ srt <- loadSort sort+ return $ freshId g (toPVar name) srt+loadDecl _ x =+ fail (shows (annotation x) " Malformed sort")++loadSort :: MonadFail m => SExpr Pos -> m Sort+loadSort (S _ "mesg") = return Mesg+loadSort (S _ "strd") = return Strd+loadSort (S _ "node") = return Node+loadSort (S _ "othr") = return Othr+loadSort x = fail (shows (annotation x) " Bad sort: ")++loadForm :: MonadFail m => Gen -> Env -> SExpr Pos -> m (Gen, Formula)+loadForm g env (L _ [S _ "not", x]) =+ do+ (g', f) <- loadForm g env x+ return (g', Not (fv f) f)+loadForm g env (L _ (S _ "and" : x : xs)) =+ do+ (g', fs) <- loadForms g env (x : xs)+ return (g', And (nub (concat (map fv fs))) fs)+loadForm g env (L _ (S _ "or" : x : xs)) =+ do+ (g', fs) <- loadForms g env (x : xs)+ return (g', Or (nub (concat (map fv fs))) fs)+loadForm g env (L _ [S _ "exists", L _ decls, x]) =+ do+ (g', env') <- loadDecls g decls+ (g'', f) <- loadForm g' (env' ++ env) x+ let ids = map snd env'+ return (g'', Exists (fv f \\ ids) ids f)+loadForm g env (L _ [S _ "diamond", act, x]) =+ do+ a <- loadAct act+ (g', f) <- loadForm g env x+ return (g', Diamond (fv f) a f)+-- Derived forms+loadForm g env (L pos [S _ "forall", decls, x]) =+ loadForm g env (L pos [S pos "not",+ L pos [S pos "exists", decls,+ L pos [S pos "not", x]]])+loadForm g env (L pos [S _ "box", act, x]) =+ loadForm g env (L pos [S pos "not",+ L pos [S pos "diamond", act,+ L pos [S pos "not", x]]])+-- Atoms+loadForm g env (L _ (S _ sym : xs)) =+ do+ ts <- loadTerms env xs+ let free = getFree ts+ return (g, Atom free (map toUnderScore sym) ts)+loadForm _ _ x =+ fail (shows (annotation x) " Malformed formula")++loadForms :: MonadFail m => Gen -> Env -> [SExpr Pos] -> m (Gen, [Formula])+loadForms g _ [] =+ return (g, [])+loadForms g env (x : xs) =+ do+ (g', f) <- loadForm g env x+ (g'', fs) <- loadForms g' env xs+ return (g'', f : fs)++loadAct :: MonadFail m => SExpr Pos -> m Act+loadAct (S _ "one") =+ return One+loadAct (S _ "plus") =+ return Plus+loadAct (S _ "star") =+ return Star+loadAct x =+ fail (shows (annotation x) " Bad action")++loadTerms :: MonadFail m => Env -> [SExpr Pos] -> m [Term]+loadTerms e xs = mapM (loadTerm e) xs++loadTerm :: MonadFail m => Env -> SExpr Pos -> m Term+loadTerm e (S pos name) =+ case lookup (toPVar name) e of+ Just id ->+ return $ Var id+ Nothing ->+ fail (shows pos (" Variable " ++ name ++ " not declared"))+loadTerm _ (Q _ str) =+ return $ Const str+loadTerm _ (N _ num) =+ return $ Num num+loadTerm _ (L _ [N _ s, N _ i]) =+ return $ Pair s i+loadTerm _ x =+ fail (shows (annotation x) " Malformed term")++getFree :: [Term] -> [Id]+getFree [] = []+getFree (Var id : ts) =+ id : getFree ts+getFree (_ : ts) =+ getFree ts++toPVar :: String -> String+toPVar (c : s) = map toUnderScore $ toUpper c : s+toPVar [] = []++toUnderScore :: Char -> Char+toUnderScore '-' = '_'+toUnderScore c = c
+ src/CPSA/DL/Main.hs view
@@ -0,0 +1,52 @@+-- Translates a query in dynamic logic into Prolog.++-- Copyright (c) 2024 The MITRE Corporation+--+-- 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.++module Main (main) where++import System.IO+import CPSA.Lib.SExpr+import CPSA.Lib.Entry+import CPSA.Lib.Pretty+import CPSA.DL.Structs+import CPSA.DL.Loader+import CPSA.DL.Simplifier+import CPSA.DL.Prolog+import CPSA.DL.Compiler++main :: IO ()+main =+ do+ (p, (output, margin)) <- start filterOptions filterInterp+ h <- outputHandle output+ hPutStrLn h "%% Dynamic Logic"+ let (g, k) = freshId origin "K" Othr+ loop h margin k g p+ hClose h++loop :: Handle -> Int -> Id -> Gen -> PosHandle -> IO ()+loop h m k g p =+ do+ x <- readSExpr p+ case x of+ Nothing ->+ return ()+ Just x ->+ do+ (g', q) <- loadQuery g x+ (g'', pl) <- compileQuery k g' (simplify q)+ display h m (map pretty pl)+ loop h m k g'' p++display :: Handle -> Int -> [Pretty] -> IO ()+display _ _ [] =+ return ()+display h m (p : ps) =+ do+ hPutStrLn h ""+ hPutStrLn h (pr m p "")+ display h m ps
+ src/CPSA/DL/Prolog.hs view
@@ -0,0 +1,79 @@+module CPSA.DL.Prolog (Clause (..), PAtom, Body (..), pretty) where++import CPSA.Lib.Pretty+import CPSA.DL.Structs++newtype Clause = Clause (PAtom, [Body]) deriving Show++type PAtom = (String, [Term])++data Body+ = PAtm PAtom+ | Disj [Body]+ | Conj [Body]+ | PNot Body+ deriving Show++prec :: Body -> Int+prec (PAtm _) = 0+prec (PNot _) = 900+prec (Conj _) = 1000+prec (Disj _) = 1100++pretty :: Clause -> Pretty+pretty (Clause (atom, [])) = blo 0 [prettyAtom atom, str "."]+pretty (Clause (atom, [body])) =+ grp 4 (prettyAtom atom : str " :-" : brk 1 : rest ++ [str "."])+ where+ rest = prettyBody p body+ p = prec body+pretty (Clause (atom, body)) =+ grp 4 (prettyAtom atom : str " :-" : brk 1 : rest ++ [str "."])+ where+ rest = prettyBody p (Conj body)+ p = prec (Conj body)++prettyBody :: Int -> Body -> [Pretty]+prettyBody p b | p < prec b =+ [grp 1 (str "(" : prettyBody p' b ++ [str ")"])]+ where p' = prec b+prettyBody _ (PAtm atom) = [prettyAtom atom]+prettyBody p (Disj [b]) =+ prettyBody p b+prettyBody _ bod@(Disj (b : bs)) =+ prettyBody p b ++ prettyRest ";" p bs+ where p = prec bod+prettyBody p (Conj [b]) =+ prettyBody p b+prettyBody _ bod@(Conj (b : bs)) =+ prettyBody p b ++ prettyRest "," p bs+ where p = prec bod+prettyBody _ bod@(PNot b) =+ [grp 2 (str "\\+" : prettyBody p b)]+ where p = prec bod+prettyBody _ _ = error "Bad prolog"++prettyRest :: String -> Int -> [Body] -> [Pretty]+prettyRest _ _ [] = []+prettyRest op p (b : bs) =+ str op : brk 1 : prettyBody p b ++ prettyRest op p bs++prettyAtom :: PAtom -> Pretty+prettyAtom (pred, []) = str pred+prettyAtom (pred, arg : args) =+ blo 0 (str pred : str "(" : prettyTerm arg : prettyTerms args)++prettyTerms :: [Term] -> [Pretty]+prettyTerms [] = [str ")"]+prettyTerms (t : ts) =+ str ", " : prettyTerm t : prettyTerms ts++prettyTerm :: Term -> Pretty+prettyTerm (Var id) = str (idName id ++ "_" ++ show (idInt id))+prettyTerm (Sym s) = str s+prettyTerm (Const c) =+ blo 0 [str "\"", str c, str "\""]+prettyTerm (Num n) =+ str (show n)+prettyTerm (Pair s i) =+ blo 0 [str "[", str (show s), str ", ", str (show i), str "]"]
+ src/CPSA/DL/Simplifier.hs view
@@ -0,0 +1,27 @@+module CPSA.DL.Simplifier (simplify) where++import CPSA.DL.Structs++simplify :: Query -> Query+simplify (Query name args f) =+ Query name args (simpForm f)++simpForm :: Formula -> Formula+simpForm f@(Atom _ _ _) =+ f+simpForm (Not _ (Not _ f)) =+ simpForm f+simpForm (Not vs f) =+ (Not vs (simpForm f))+simpForm (And _ [f]) =+ simpForm f+simpForm (And vs fs) =+ And vs (map simpForm fs)+simpForm (Or _ [f]) =+ simpForm f+simpForm (Or vs fs) =+ Or vs (map simpForm fs)+simpForm (Exists vs vars f) =+ Exists vs vars (simpForm f)+simpForm (Diamond vs act f) =+ Diamond vs act (simpForm f)
+ src/CPSA/DL/Structs.hs view
@@ -0,0 +1,82 @@+module CPSA.DL.Structs where++data Sort = Mesg | Strd | Node | Othr deriving Show++-- Identifiers from the algebra module with sorts added++-- An identifier is a variable with its sort++newtype Id = Id (Integer, String, Sort) deriving Show++-- The integer distinguishes an identifier, the string is for printing.++instance Eq Id where+ (Id (x, _, _)) == (Id (x', _, _)) = x == x'++instance Ord Id where+ compare (Id (x, _, _)) (Id (x', _, _)) = compare x x'++idInt :: Id -> Integer+idInt (Id (num, _, _)) = num++idName :: Id -> String+idName (Id (_, name, _)) = name++idSort :: Id -> Sort+idSort (Id (_, _, sort)) = sort++-- Counter used for generating fresh identifiers.++newtype Gen = Gen (Integer) deriving (Show, Eq)++origin :: Gen+origin = Gen (0)++freshId :: Gen -> String -> Sort -> (Gen, Id)+freshId (Gen i) name sort = (Gen (i + 1), Id (i, name, sort))++cloneId :: Gen -> Id -> (Gen, Id)+cloneId gen x = freshId gen (idName x) (idSort x)++predSym :: Gen -> (Gen, String)+predSym (Gen i) = (Gen (i + 1), "pred" ++ show i)++-- A term is a variable or a constant.++data Term+ = Var Id+ | Sym String+ | Const String+ | Num Int+ | Pair Int Int+ deriving Show++-- Every formula begins with the set of free variables.++data Formula+ = Atom [Id] String [Term]+ | Not [Id] Formula+ | And [Id] [Formula]+ | Or [Id] [Formula]+ | Exists [Id] [Id] Formula+ | Diamond [Id] Act Formula+ deriving Show++-- Free variables++fv :: Formula -> [Id]+fv (Atom fv _ _) = fv+fv (Not fv _) = fv+fv (And fv _) = fv+fv (Or fv _) = fv+fv (Exists fv _ _) = fv+fv (Diamond fv _ _) = fv++data Act+ = One+ | Plus+ | Star+ deriving Show++data Query = Query String [Id] Formula+ deriving Show
src/CPSA/Db/Loader.hs view
@@ -90,12 +90,12 @@ return (In $ ChMsg ch t) loadEvt sig vars (L _ [S _ "send", t]) = do- t <- loadTerm sig vars True t+ t <- loadTerm sig vars False t return (Out $ Plain t) loadEvt sig vars (L _ [S _ "send", ch, t]) = do ch <- loadChan sig vars ch- t <- loadTerm sig vars True t+ t <- loadTerm sig vars False t return (Out $ ChMsg ch t) loadEvt sig vars (L _ [S _ "load", ch, t]) = do@@ -105,7 +105,7 @@ loadEvt sig vars (L _ [S _ "stor", ch, t]) = do ch <- loadLocn sig vars ch- t <- loadTerm sig vars True t+ t <- loadTerm sig vars False t return (Out $ ChMsg ch t) loadEvt _ _ (L pos [S _ dir, _]) = fail (shows pos $ "Unrecognized direction " ++ dir)@@ -172,7 +172,7 @@ case x of [term] -> do- t <- loadTerm sig kvars True term+ t <- loadTerm sig kvars False term let i = [In $ Plain t, Out $ Plain t] loadStrands sig top p kvars gen (i : insts) xs _ ->
src/CPSA/Db/Main.hs view
@@ -1,6 +1,15 @@--- Summarize CPSA output as a formula in coherent logic+-- Generate a database of facts from CPSA output --- Copyright (c) 2011 The MITRE Corporation+-- This programs loads CPSA output. It assembles the skeletons in the+-- output into a forest of derivation trees. It then prints the+-- forest in S-Expression syntax. To be loadable by Prolog, the+-- output must be filtered through cpsa4dbprolog and then sorted so+-- that clauses of one predicate are colocated.++-- The output should be used by SWI Prolog as strings must not be atoms.+-- Load the generated file using consult/1.++-- Copyright (c) 2024 The MITRE Corporation -- -- This program is free software: you can redistribute it and/or -- modify it under the terms of the BSD License as published by the
src/CPSA/Db/Structs.hs view
@@ -9,6 +9,15 @@ import CPSA.Protocol (Trace, Event (..)) import CPSA.Lib.SExpr +{--+import System.IO.Unsafe+z :: Show a => a -> b -> b+z x y = unsafePerformIO (print x >> return y)++zz :: Show a => a -> a+zz x = z x x+--}+ data Role = Role { rname :: String, -- Role name rvars :: ![Term], -- Set of role variables@@ -71,11 +80,12 @@ case homomorphism k k' mapping of [] -> Nothing env : _ ->- Just (map (displayMaplet (kctx k) (kctx k')) maplets)+ Just (map (displayMaplet (kctx k) rangeCtx) maplets) where maplets = reify (kvars k) env+ rangeCtx = addToContext (kctx k') (map snd maplets) displayMaplet :: Context -> Context -> (Term, Term) -> (SExpr (), SExpr ())-displayMaplet domain range (x, t)=+displayMaplet domain range (x, t) = (displayTerm domain x, displayTerm range t)
src/CPSA/DbProlog/Main.hs view
@@ -1,9 +1,7 @@--- Prints the output of a CPSA run as a Prolog database.+-- Prints the database from a CPSA run as a Prolog database. --- This programs loads CPSA output. It assembles the skeletons in the--- output into a forest of derivation trees. It then prints the--- forest in Prolog syntax. To be loadable by Prolog, the output must--- be sorted so that clauses of one predicate are colocated.+-- To be loadable by Prolog, the output must be sorted so that clauses+-- of one predicate are colocated. -- The output should be used by SWI Prolog as strings must not be atoms. -- Load the generated file using consult/1.
src/CPSA/Displayer.hs view
@@ -285,7 +285,7 @@ displayFacts :: Context -> [Fact] -> [SExpr ()] displayFacts ctx = foldr- (\(Fact name fs) soFar ->+ (\(Fact name fs) soFar -> case name of "trans" -> soFar _ -> (L () (S () name : map (displayFterm ctx) fs)) : soFar)@@ -363,6 +363,7 @@ Collapsed _ s s' -> let desc = [N () s, N () s'] in L () (S () "operation" : S () "collapsed" : desc) : rest+ AppliedRules _ -> L () (S () "operation" : [(S () "applied-rules")]) : rest where displayCause op (Cause dir node critical escape) = L () (S () "operation" :
src/CPSA/GenRules.hs view
@@ -151,17 +151,38 @@ [(Trans (z, (indxOfInt i)))] -- one conjunct )] -lastRecvInCS :: Role -> Int -> Int -> Int-lastRecvInCS rl start end =- loop start $ drop (start+1) $ rtrace rl- -- i is always the index before the index of the first entry still- -- in c.- where- loop i ((In (ChMsg ch _)) : c)- | i < end && isLocn ch = loop (i+1) c- | otherwise = i- loop i _ = i+-- Suppose that start is the index of the first event in a state+-- sequence, and end is the index of the last event in it.+-- If there are no loads, then return Right start since this is the+-- first send. If there are some loads, return Left i where i is the+-- index of the last of the loads. +lastRecvOrFirstSendInCS :: Role -> Int -> Int -> Either Int Int +lastRecvOrFirstSendInCS rl start end =+ case drop start $ rtrace rl -- zero-based, so this retains the+ -- start node+ of+ (In (ChMsg ch _) : c)+ | start <= end && isLocn ch -> loopLeft start c+ | otherwise -> error ("lastRecvOrFirstSendInCS: Huh? " +++ (rname rl) ++ " at " ++ (show start) +++ " should be a state event")+ (Out (ChMsg ch _) : _)+ | start <= end && isLocn ch -> Right start+ | otherwise -> error ("lastRecvOrFirstSendInCS: Huh? " +++ (rname rl) ++ " at " ++ (show start) +++ " should be a state event")+ _ -> error ("lastRecvOrFirstSendInCS: Huh? " +++ (rname rl) ++ " at " ++ (show start) +++ " should be a state event")+ where -- i points to the index of a node that was definitely a+ -- load + loopLeft i ((In (ChMsg ch _)) : c)+ | i <= end && isLocn ch = loopLeft (i+1) c+ | otherwise = Left i+ loopLeft i _ = Left i + + csRules :: Sig -> Gen -> Role -> [(Int,Int)] -> (Gen, [Rule]) csRules sig g rl = L.foldl@@ -171,20 +192,48 @@ (g,[]) where f g start end =- let lastRecv = lastRecvInCS rl start end in- let (g',rs) = foldr (\ind (g,soFar) ->- let (g',r) = causeRule g rl start ind in- (g', (r : soFar)))- (g,[])- [start+1..lastRecv] in- foldr (\ind (g,soFar) ->- let (g',r) = effectRule g rl end ind in- (g', (r : soFar)))- (g',rs)- [lastRecv+1..end-1]+ case lastRecvOrFirstSendInCS rl start end of+ Right firstStor ->+ if firstStor == end then (g,[]) -- single store+ else let (g',re) = effectRule g rl end firstStor in+ (g',[re])+ Left lastRecv ->+ let (g',crules) =+ if start == lastRecv then (g,[])+ else let (g',rc) = causeRule g rl start lastRecv in+ (g',[rc]) in+ let (g'',erules) =+ if lastRecv+1 == end then (g',[])+ else let (g'',re) = effectRule g' rl end (lastRecv+1) in+ (g'',[re]) in+ (g'', crules ++ erules) - causeRule g rl start ind =+ -- Alternate:+ -- stateSegStrRule g rl start end++ {-- + stateSegStrRule g rl start end = let (g',z) = newVar sig g "z" "strd" in+ + -- (a -> b -> b) -> b -> t a -> b+ foldr+ (\j (g'',soFar) ->+ let (g''',r) = (ruleOfClauses sig g''+ ("st-sg-" ++ (rname rl) ++ "-" ++ (show j))+ [z]+ [(Length rl z (indxOfInt (j+1)))]+ [([],+ [AFact "st-sg-str"+ [z, (indxOfInt start), (indxOfInt j)]])]) in+ (g''', r : soFar))+ (g',[])+ [start+1..end]+ ++--}++ causeRule g rl start ind = + let (g',z) = newVar sig g "z" "strd" in let (g'', z1) = newVar sig g' "z1" "strd" in let (g''', i) = newVar sig g'' "i" "indx" in @@ -217,6 +266,22 @@ [(Length rl z (indxOfInt (end+1))), (Prec (z, (indxOfInt end)) (z1,i))])] + {--+ -- Really we don't want to use this, since we'd have to have no+ -- ambiguity across all of the loads and stores. That's an+ -- unreasonable thing to ask of the specifier. ++ fullCSRule g rl start end =+ let (g',z) = newVar sig g "z" "strd" in+ (ruleOfClauses sig g'+ ("full-cs-" ++ (rname rl) ++ "-" ++ (show start))+ [z]+ [(Length rl z (indxOfInt (start+1)))]+ [([], + [(Length rl z (indxOfInt (end+1)))])])+ --}++ data FoundAt = FoundAt Int | Missing Term @@ -525,7 +590,7 @@ (g, [z0,z1,z2]) -> case sortedVarsOfNames sig g "indx" ["i0","i1","i2"] of (g, [i0,i1,i2]) ->- (g, (Rule { rlname = "shearsRule",+ (g, (Rule { rlname = "discreteAfter", rlgoal = Goal {uvars = [z0,z1,z2,i0,i1,i2],@@ -554,7 +619,7 @@ (g, [z0,z1,z2]) -> case sortedVarsOfNames sig g "indx" ["i0","i1","i2"] of (g, [i0,i1,i2]) ->- (g, (Rule { rlname = "invShearsRule",+ (g, (Rule { rlname = "discreteBefore", rlgoal = Goal {uvars = [z0,z1,z2,i0,i1,i2],@@ -616,3 +681,50 @@ rlcomment = [] })) (g, _) -> (g, theVacuousRule) (g, _) -> (g, theVacuousRule)++{-- +causeRule :: Sig -> Gen -> (Gen, Rule)+causeRule sig g =+ case sortedVarsOfNames sig g "strd" ["z","z1"] of+ (g, [z,z1]) ->+ case sortedVarsOfNames sig g "indx" ["i","j","i1"] of+ (g, [i,j,i1]) ->+ (g,+ (Rule { rlname = "causeRule",+ rlgoal =+ Goal+ {uvars = [z,z1, i,j,i1],+ antec = [ (AFact "st-sg-str" [z,i,j]),+ (Prec (z1,i1) (z,j)) ],+ consq = [([], [Equals z z1]),+ ([], [Prec (z1,i1) (z,i)]) ], -- disjunction + concl = [[Equals z z1],+ [Prec (z1,i1) (z,i)]]},+ rlcomment = [] }))+ (g, _) -> (g, theVacuousRule)+ (g, _) -> (g, theVacuousRule)++ +effectRule :: Sig -> Gen -> (Gen, Rule)+effectRule sig g =+ case sortedVarsOfNames sig g "strd" ["z","z1"] of+ (g, [z,z1]) ->+ case sortedVarsOfNames sig g "indx" ["i","j","i1"] of+ (g, [i,j,i1]) ->+ (g,+ (Rule { rlname = "effectRule",+ rlgoal =+ Goal+ {uvars = [z,z1, i,j,i1],+ antec = [ (AFact "st-sg-str" [z,i,j]),+ (Prec (z,i) (z1,i1)) ],+ consq = [([], [Equals z z1]),+ ([], [Prec (z,j) (z1,i1)]) ], -- disjunction + concl = [[Equals z z1],+ [Prec (z,j) (z1,i1)]]},+ rlcomment = [] }))+ (g, _) -> (g, theVacuousRule)+ (g, _) -> (g, theVacuousRule)++ +--}
src/CPSA/Graph/Loader.hs view
@@ -13,10 +13,10 @@ module CPSA.Graph.Loader (Preskel, Dir (..), Vertex, protocol, role, env, inst, part, lastVertex, vertices, Node, vnode,- strands, label, parent, seen, unrealized, shape,- empty, realized, protSrc, preskelSrc, initial,- strand, pos, leadstosuccs, prev, next, msg,- dir, succs, preds, State, loadFirst, loadNext)+ strands, label, parent, seen, unrealized, shape, noSkel,+ empty, realized, rulesApply, protSrc, preskelSrc, initial,+ strand, pos, leadstosuccs, prev, next, msg, aborted, + dead, dir, succs, preds, State, loadFirst, loadNext) where import qualified Data.List as L@@ -39,6 +39,10 @@ shape :: Bool, -- Is preskel a shape? empty :: Bool, -- Does preskel have an empty cohort? realized :: Bool, -- Is preskel realized?+ rulesApply :: Bool, -- Is preskel closed under rules?+ aborted :: Bool, -- Has the search been aborted?+ dead :: Bool, -- Is the skeleton marked as dead?+ noSkel :: Bool, -- Cannot be made into a skeleton protSrc :: SExpr Pos, -- Source for the protocol preskelSrc :: SExpr Pos } -- Source for this preskeleton deriving Show@@ -263,6 +267,10 @@ let shape = maybe False (const True) (assoc "shape" xs) let empty = elem "empty cohort" (qassoc "comment" xs) let realized = maybe False (const True) (assoc "realized" xs)+ let rulesApply = elem "Not closed under rules" (qassoc "comment" xs)+ let aborted = maybe False (const True) (assoc "aborted" xs)+ let dead = maybe False (const True) (assoc "dead" xs)+ let noSkel = elem "Input cannot be made into a skeleton--nothing to do" (qassoc "comment" xs) let orderings = maybe [] id (assoc "precedes" xs) let lt = maybe [] id (assoc "leads-to" xs) pairs <- loadOrderings heights orderings True@@ -286,6 +294,10 @@ shape = shape, empty = empty, realized = realized,+ rulesApply = rulesApply,+ aborted = aborted,+ dead = dead,+ noSkel = noSkel, protSrc = src p, preskelSrc = s } where
src/CPSA/Graph/Preskeleton.hs view
@@ -71,7 +71,7 @@ OutDir -> Nothing -- Transmission nodes are black LoadDir | elem node (maybe [] id (unrealized k)) -> Just "orange"- | otherwise -> Just "gray" -- Realized nodes are gray+ | otherwise -> Just "lightsteelblue" -- Realized nodes are lightsteelblue StorDir | elem node (maybe [] id (unrealized k)) -> Just "orange" | otherwise -> Just "gray" -- Realized nodes are gray
src/CPSA/Graph/Tree.hs view
@@ -8,11 +8,14 @@ module CPSA.Graph.Tree (Tree (..), Forest, forest, tree) where +--import System.IO.Unsafe import qualified Data.Map as M import Data.Map (Map) import Data.List (foldl')+--import Data.List (elem) import qualified Data.Set as S import Data.Set (Set)+--import Data.Maybe (mapMaybe) import CPSA.Lib.Utilities (seqList) import CPSA.Graph.XMLOutput import CPSA.Graph.Config@@ -26,7 +29,13 @@ -- have been seen before. These members are called a tree node's -- duplicates, and their children are displayed somewhere else in the -- display.+{- +z :: Show a => a -> b -> b+z x y = unsafePerformIO (print x >> return y) +zz :: Show a => a -> a+zz x = z x x -}+ data Tree = Tree { vertex :: !Preskel, children :: !Forest, -- Freshly discovered preskeletons@@ -47,14 +56,10 @@ Tree { vertex = k, children = seqList kids, duplicates = seqList dups,- alive = live kids dups,+ alive = True, -- This will be repaired later width = x kids dups, height = y kids dups } where- live kids dups =- maybe True null (unrealized k) ||- null kids && null dups && not (empty k) ||- any alive kids || any alive dups x [] [] = 1 -- The width of a duplicate is one x kids dups = sum (map width kids) + length dups@@ -108,37 +113,133 @@ -- Set the alive flag in each preskeleton. setLiveness :: Tree -> Tree-setLiveness t = updateLiveness (live t) t+setLiveness t =+ updateLiveness (live (vertexMap t) t) t --- Extract the non-dead preskeletons from a tree. A preskeleton is--- dead if it is known to be unrealized, and all of its children are--- unrealized. Because of duplicates, process of computing the list--- must be iterated.-live :: Tree -> Set Preskel-live t =- loop (init S.empty t)+-- Make a map of all the vertices in a tree +vertexMap :: Tree -> Map Int Tree+vertexMap t =+ loop t $ M.insert (label $ vertex t) t M.empty where- decend ks t =- let ks' = foldl' decend ks (kids t) in- if S.member (vertex t) ks' || dead ks' t then- ks'- else- S.insert (vertex t) ks'- dead ks t =- all (not . (flip S.member ks) . vertex) (kids t)- kids t = duplicates t ++ children t- loop old =- let new = decend old t in- if S.size new == S.size old then- old- else- loop new- init ks t =- foldl' init (live ks t) (children t)- where- live ks t- | alive t = S.insert (vertex t) ks- | otherwise = ks+ loop t m =+ foldl (\m' t' -> loop t' $ M.insert (label $ vertex t') t' m')+ m (children t)++-- Extract all preskeletons from a tree.+preskeletons :: Tree -> Set Preskel+preskeletons t = let ks = foldl' S.union S.empty $ map preskeletons (children t) in+ S.insert (vertex t) ks++-- Extract all the subtrees from a tree.+{- trees :: Tree -> Set Tree+trees t = let ks = foldl' S.union S.empty $ map trees (children t) in + S.insert t ks -}++-- Extract the non-dead preskeletons from a tree. +{- live :: Map Int Tree -> Tree -> Set Preskel+live vmap t = loop liveLeaves+ where+ preskels = preskeletons t+ liveLeaf :: Preskel -> Bool+ liveLeaf k = shape k || aborted k || (not (realized k) && not (dead k))+ liveLeaves = S.filter liveLeaf preskels++ getTree :: Preskel -> Maybe Tree+ getTree = (`M.lookup` vmap) . label++ allKids :: Preskel -> Set Preskel+ allKids k = S.fromList (map vertex (+ maybe [] children (getTree k) +++ mapMaybe (getTree . vertex) (maybe [] duplicates (getTree k))+ ))++ loop :: Set Preskel -> Set Preskel+ loop old = let new = ascend old in+ if S.size new == S.size old then+ old+ else+ loop new+ ascend :: Set Preskel -> Set Preskel+ -- add all of the preskeletons whose set of children+ -- is not disjoint from the preskels currently marked live+ ascend old = S.union (S.filter (not . S.disjoint old . allKids) preskels) old -}++ ++live :: Map Int Tree -> Tree -> Set Preskel+live vmap t = loop liveLeaves+ where+ preskels = preskeletons t+ + -- Aborting and/or ctrl+c might leave a live fringe. + -- The cases below check for those conditions.+ getLiveLeaves :: [Int] -> Set Preskel -> Tree -> Set Preskel + getLiveLeaves as ps t = + let k = vertex t + l = label k in + -- aborted skeletons are live fringe and have no children+ if aborted k then + S.insert k ps + -- shapes are always live but may have children+ else if shape k then + S.insert k (foldl (getLiveLeaves (l:as)) ps (children t))+ -- if it can't be made into a skeleton, it's not a live leaf+ else if noSkel k then + ps+ -- if rules apply but it has no children, it dies on + -- rule application. Not a live leaf.+ else if children t == [] && rulesApply k then + ps+ -- realized skeletons that aren't shapes+ -- but have no children are live fringe+ else if children t == [] && realized k then + S.insert k ps + -- If it has no children or seen children, isn't realized or dead+ -- it's live fringe+ else if children t == [] && duplicates t == [] &&+ not (realized k) && not (dead k) then + S.insert k ps+ -- If it only has seen children, and they are all + -- ancestors, it's not a live leaf+ else if children t == [] && not (realized k) && + not (dead k) && duplicates t /= [] &&+ isSubList (map (label . vertex) $ duplicates t) as then + ps+ -- otherwise it's not a live leaf. Descend without adding+ else + foldl (getLiveLeaves (l:as)) ps (children t)++ isSubList :: Eq a => [a] -> [a] -> Bool+ isSubList [] _ = True+ isSubList _ [] = False+ isSubList (x:xs) ys = elem x ys && isSubList xs ys++ liveLeaves = getLiveLeaves [] S.empty t++ getTree :: Preskel -> Tree+ getTree k =+ case (`M.lookup` vmap) $ label k of+ -- Will only be used on skeletons in the vmap+ Nothing -> error $ "getTree': Preskel not found: " ++ show k+ Just t -> t++ allKids :: Preskel -> Set Preskel+ allKids k = S.fromList (map vertex (+ children (getTree k) +++ map (getTree . vertex) (duplicates (getTree k))+ ))++ loop :: Set Preskel -> Set Preskel+ loop old = let new = ascend old in+ if S.size new == S.size old then+ old+ else+ loop new+ ascend :: Set Preskel -> Set Preskel+ -- add all of the preskeletons whose set of children+ -- is not disjoint from the preskels currently marked live+ ascend old = S.union (S.filter (not . S.disjoint old . allKids) preskels) old+ updateLiveness :: Set Preskel -> Tree -> Tree updateLiveness live t =
src/CPSA/Init/Main.hs view
@@ -24,7 +24,7 @@ argv <- getArgs (flags, _) <- opts options argv interp flags- copy ["init/Makefile", "cpsa4.mk", "Make4.hs"]+ copy ["init/Makefile", "cpsa4.mk", "Make4.hs", "cpsa4prolog.pl"] -- Copy the file only if it does not already exist
src/CPSA/Lib/Utilities.hs view
@@ -22,6 +22,12 @@ subset as bs = all (flip elem bs) as +union :: Eq a => [a] -> [a] -> [a]+union [] bs = bs+union (a:as) bs =+ if a `elem` bs then union as bs+ else a : union as bs+ -- Delete the nth item in a list deleteNth :: Int -> [a] -> [a] deleteNth n (x : xs)@@ -54,6 +60,15 @@ maxRest <- listMax rest Just $ max a maxRest +deleteWhenPresent :: Eq a => a -> [a] -> Maybe [a]+deleteWhenPresent a l =+ collect a l [] + where+ collect _ [] _ = Nothing+ collect a (b : rest) passed + | a == b = Just ((L.reverse passed) ++ rest)+ | otherwise = collect a rest (b : passed)+ -- given a function of two args and two lists, return the list of -- results of applying the function to the successive members. --@@ -66,6 +81,13 @@ foldrTwo :: (a -> b -> c -> c) -> c -> [a] -> [b] -> c foldrTwo f seed as bs = foldr (\(a,b) c -> f a b c) seed (zip as bs)++-- Return the first non-Nothing member of a list if any is present,+-- and otherwise Nothing+someOfList :: [Maybe a] -> Maybe a+someOfList [] = Nothing+someOfList (Nothing : rest) = someOfList rest+someOfList (Just v : _) = Just v -- Returns a list of the natural numbers less that the argument. {-# INLINE nats #-}
src/CPSA/LoadFormulas.hs view
@@ -255,23 +255,76 @@ return as -- Load a conjunction of atomic formulas- loadConjunction :: MonadFail m => Sig -> Pos -> Prot -> [Term] -> SExpr Pos -> m Conj loadConjunction sig _ p kvars (L pos (S _ "and" : xs)) = loadConjuncts sig pos p kvars xs [] loadConjunction sig top p kvars x = do- (pos, a) <- loadPrimary sig top p kvars x- return [(pos, a)]+ posa <- loadConjuncts sig top p kvars [x] []+ return posa loadConjuncts :: MonadFail m => Sig -> Pos -> Prot -> [Term] -> [SExpr Pos] -> Conj -> m Conj loadConjuncts _ _ _ _ [] rest = return (reverse rest)+-- If the head is a strand formula treat it specially+loadConjuncts sig _ p kvars ((L pos (S _ "strand" : ss)) : xs) rest =+ do+ posas <- loadStrand sig pos p kvars ss+ loadConjuncts sig pos p kvars xs (posas ++ rest)+-- If the head is a listener formula treat it specially+loadConjuncts sig _ p kvars ((L pos (S _ "listener" : ss)) : xs) rest =+ do+ posas <- loadListener sig pos p kvars ss+ loadConjuncts sig pos p kvars xs (posas ++ rest) loadConjuncts sig top p kvars (x : xs) rest = do (pos, a) <- loadPrimary sig top p kvars x loadConjuncts sig top p kvars xs ((pos, a) : rest)++-- Load a strand formula+loadStrand :: MonadFail m => Sig -> Pos -> Prot -> [Term] -> [SExpr Pos] -> m Conj+loadStrand sig _ p kvars (S pos name : x : N _ h : vmaps) =+ do+ r <- lookupRole pos p name+ s <- loadStrdTerm sig kvars x+ case h <= 0 || h > length (rtrace r) of+ True -> fail (shows pos "Bad length")+ False ->+ do+ params <- loadVMaps sig pos p kvars r s h vmaps+ return ((pos, Length r s (indxOfInt h)) : params)+loadStrand _ pos _ _ _ = fail (shows pos "Bad strand formula")++-- 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] =+ 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)]+loadListener _ pos _ _ _ = fail (shows pos "Bad listener formula")++loadVMaps :: MonadFail m => Sig -> Pos -> Prot -> [Term] ->+ Role -> Term -> Int -> [SExpr Pos] -> m Conj+loadVMaps _ _ _ _ _ _ _ [] = return []+loadVMaps sig _ p kvars r s h ((L pos [S var rv, sv]) : vmaps) =+ do+ v <- loadAlgChanTerm sig (rvars r) (S var rv)+ t <- loadAlgChanTerm sig kvars sv+ case isVar v of+ False -> fail (shows pos ("Bad parameter -- not a variable " ++ (show v)))+ True ->+ case firstOccurs v r of+ Just i ->+ do+ rest <- loadVMaps sig pos p kvars r s h vmaps+ return ((pos, Param r v (i + 1) s t) : rest)+ Nothing ->+ fail (shows pos ("parameter " ++ rv ++ " not in role " ++ rname r))+loadVMaps _ pos _ _ _ _ _ _ = fail (shows pos "Bad variable map") -- Load the atomic formulas
src/CPSA/Loader.hs view
@@ -100,7 +100,15 @@ comment) rs) where- validate prot [] = return prot+ validate prot [] =+ case checkForDivergenceInStoreSegments prot of+ Nothing -> return prot+ Just (name, name', i) ->+ fail ("checkForDivergenceInStoreSegments: Roles " ++ name +++ " and " ++ name' ++ " agree up to step " ++ (show i) +++ " but diverge in a store segment. " ++ + " Distinguish them prior to second event in store segment")+ validate prot (r : rs) = case L.find (\r' -> rname r == rname r') rs of Nothing -> validate prot rs@@ -173,11 +181,16 @@ let gs = L.filter (varsSeen vs) g prios <- mapM (loadRolePriority (length c)) (assoc "priority" rest) - let stateSegs = stateSegments c- case all (flip checkCs stateSegs) cs of- False -> fail (shows pos "Critical sections in role not within state segments")- True -> return ()+ let stateSegs = stateSegments c + {-- case all (flip checkCs stateSegs) cs of+ False -> fail (shows pos "Critical sections in role not within state segments")+ True -> return () --} + case cs of+ [] -> return ()+ _ -> fail (shows pos ("Critical sections in role are no longer needed; " +++ "all state segments are now critical sections"))+ let r = mkRole name vs c ns as us gs b d h comment prios reverseSearch let pr = pr_t { preruleCs = stateSegs,@@ -257,10 +270,19 @@ mapM_ uniqueCheck $ runique role mapM_ uniqgenCheck $ runiqgen role mapM_ origVarCheck $ rvars role+ mapM_ (checkChanDecl "conf") $ rconf role+ mapM_ (checkChanDecl "auth") $ rauth role failwith "role trace is a prefix of a listener" $ notListenerPrefix $ rtrace role- failwith "role trace has stor with no previous load"- $ balancedStores $ rtrace role+ -- + -- Let's try obliterating the requirement that stored locns must+ -- previously have been loaded!+ -- + -- failwith "role trace has stor with no previous load"+ -- $ balancedStores $ rtrace role+ -- + failwith "role trace has multiple loads or stors on same locn"+ $ locnsUnique $ rtrace role where terms = tterms (rtrace role) nonCheck (_, t) =@@ -288,6 +310,23 @@ $ not (isAcquiredVar v) || isJust (acquiredPos v (rtrace role)) + chansUsed =+ iter c [] + where+ c = rtrace role+ iter [] soFar = soFar+ iter (e : rest) soFar =+ case evtChan e of+ Just ch -> iter rest $ adjoin ch soFar+ Nothing -> iter rest soFar++ checkChanDecl str ch =+ failwith+ ((show ch) ++ " declared " ++ str +++ " but not used in role " +++ (rname role))+ $ ch `elem` chansUsed + -- noBareStore :: Trace -> Bool -- noBareStore c = -- check c Nothing@@ -305,6 +344,7 @@ -- | otherwise = check c' Nothing -- check (_ : c') _ = check c' Nothing +{-- balancedStores :: Trace -> Bool balancedStores c = check c []@@ -318,7 +358,63 @@ | isLocn ch = False | otherwise = check c' [] check (_ : c') _ = check c' []+--} ++locnsUnique :: Trace -> Bool+locnsUnique [] = True+locnsUnique ((In (ChMsg ch _)) : c') =+ if isLocn ch+ then+ checkLoads c' [ch]+ else+ locnsUnique c'+ where+ checkLoads ((In (ChMsg ch _)) : c') seen =+ if isLocn ch+ then + not (ch `elem` seen) &&+ checkLoads c' (ch : seen)+ else+ locnsUnique c'+ checkLoads c' _ = locnsUnique c'+ +locnsUnique ((Out (ChMsg ch _)) : c') =+ if isLocn ch+ then+ checkStores c' [ch]+ else locnsUnique c'+ where+ checkStores ((Out (ChMsg ch _)) : c') seen =+ if isLocn ch+ then + not (ch `elem` seen) &&+ checkStores c' (ch : seen)+ else+ locnsUnique c'+ checkStores c' _ = locnsUnique c'++locnsUnique (_ : c') = locnsUnique c'+ ++{-- + check c []+ where+ check [] _ = True+ check ((In (ChMsg ch _)) : c') loads+ | isLocn ch = not(ch `elem` loads) &&+ check c' (ch : loads)+ | otherwise = check c' []+ check ((Out (ChMsg ch _)) : c') loads+ | isLocn ch =+ (case deleteWhenPresent ch loads of+ Nothing -> False+ Just rest -> check c' rest)+ | otherwise = check c' []+ check (_ : c') _ = check c' []+ --}++ -- Given a trace, return a list of pairs of indices. The first member -- of each pair is the index of a state event. If the state event is -- a stor, then the second member is equal to the first. If the state@@ -364,7 +460,78 @@ stateSegments c = findSegments [] 0 c where+ -- findSegments soFar index c+ -- is called when the original trace has the state segments+ -- soFar that are completed *before* index, and the tail c of+ -- the original trace remains to be explored.+ findSegments soFar _ [] = soFar+ + findSegments soFar i (In (ChMsg ch _) : c)+ | isLocn ch = findLower soFar i (i+1) c + | otherwise = findSegments soFar (i+1) c++ findSegments soFar i ((Out (ChMsg ch _)) : c)+ | isLocn ch = findUpper soFar i (i+1) c + | otherwise = findSegments soFar (i+1) c++ findSegments soFar i (_ : c) =+ findSegments soFar (i+1) c++ findLower soFar i j [] = (i,j-1) : soFar+ + findLower soFar i j (In (ChMsg ch _) : c')+ | isLocn ch = findLower soFar i (j+1) c'+ | otherwise = findSegments ((i,j-1) : soFar) (j+1) c'+ + findLower soFar i j (In _ : c') = findSegments ((i,j-1) : soFar) (j+1) c'++ findLower soFar i j (Out m : c') = findUpper soFar i j (Out m : c')++ findUpper soFar i j [] = (i,j-1) : soFar++ findUpper soFar i j (Out (ChMsg ch _) : c')+ | isLocn ch = findUpper soFar i (j+1) c'+ | otherwise = findSegments ((i,j-1) : soFar) (j+1) c'+ + findUpper soFar i j (Out _ : c') = findSegments ((i,j-1) : soFar) (j+1) c'++ findUpper soFar i j (In m : c') = findSegments ((i,j-1) : soFar) j (In m : c')++{-- -- findEnd soFar i j bool c++ -- is called where the original trace has the state segments+ -- soFar that are completed *before* i, and there is a state+ -- segment that began at i and may still extend; we are+ -- currently inspecting index j which is the start of the+ -- unexplored suffix c; the boolean flag is True if we're in the+ -- upper storing part of the state segment, and False in the+ -- lower loading part.++ findEnd soFar i j _ [] = (i,j-1) : soFar+ + findEnd soFar i j False ((In (ChMsg ch _)) : c')+ | isLocn ch = findEnd soFar i (j+1) False c'+ | otherwise = findSegments ((i,j-1) : soFar) (j+1) c'+ findEnd soFar i j False ((Out (ChMsg ch _)) : c')+ | isLocn ch = findEnd soFar i (j+1) True c'+ | otherwise = findSegments ((i,j-1) : soFar) (j+1) c'+ + findEnd soFar i j True (In m : c') =+ findSegments ((i,j-1) : soFar) j (In m : c')+ findEnd soFar i j True (Out (ChMsg ch _) : c') + | isLocn ch = findEnd soFar i (j+1) True c'+ | otherwise = findSegments ((i,j-1) : soFar) (j+1) c'+ + findEnd soFar i j _ (_ : c') =+ findSegments ((i,j-1) : soFar) (j+1) c'+--}+ + ++{- findSegments [] 0 c+ where+ findSegments soFar _ [] = soFar findSegments soFar i ((Out _) : c) = findSegments soFar (i+1) c findSegments soFar i ((In (Plain _)) : c) =@@ -386,7 +553,8 @@ findSegments ((start,(i-1)) : soFar) (i+1) c findEnd soFar start i c@((In (ChMsg _ _)) : _) True = findSegments ((start,(i-1)) : soFar) i c- -- in th eprevious case we save the start of c for findSegments+ + -- in the previous case we save the start of c for findSegments -- to decide what to do. findEnd soFar start i ((In (ChMsg ch _)) : c) False@@ -396,11 +564,9 @@ | isLocn ch = findEnd soFar start (i+1) c True | otherwise = findSegments ((start,(i-1)) : soFar) (i+1) c -checkCs :: (Int,Int) -> [(Int,Int)] -> Bool-checkCs (i,j) =- any- (\(start,end) -> start <= i && j <= end)+--} + failwith :: MonadFail m => String -> Bool -> m () failwith msg test = case test of@@ -537,7 +703,9 @@ (g',r : rules)) (g',[]) [scissorsRule sig, cakeRule sig, uninterruptibleRule sig,- shearsRule sig, invShearsRule sig]+ shearsRule sig, invShearsRule sig+ -- , causeRule sig, effectRule sig+ ] else (g',[]) (g,fcRls) <- iterPreRules initPreRulesFacts sig g prot prs
src/CPSA/Operation.hs view
@@ -58,8 +58,10 @@ | AddedAbsence [Sid] Term Term Cause | Generalized [Sid] Method | Collapsed [Sid] Int Int+ | AppliedRules [Sid] deriving Show + getStrandMap :: Operation -> [Sid] getStrandMap New = [] getStrandMap (Contracted sm _ _) = sm@@ -69,6 +71,7 @@ getStrandMap (AddedAbsence sm _ _ _) = sm getStrandMap (Generalized sm _) = sm getStrandMap (Collapsed sm _ _) = sm+getStrandMap (AppliedRules sm) = sm addStrandMap :: [Sid] -> Operation -> Operation addStrandMap _ New = New@@ -80,3 +83,4 @@ addStrandMap sm (AddedAbsence _ t1 t2 c) = AddedAbsence sm t1 t2 c addStrandMap sm (Generalized _ m) = Generalized sm m addStrandMap sm (Collapsed _ n1 n2) = Collapsed sm n1 n2+addStrandMap sm (AppliedRules _) = AppliedRules sm
src/CPSA/Protocol.hs view
@@ -7,7 +7,8 @@ -- University of California. module CPSA.Protocol (Event (..), evtCm, evtTerm, evtChan, evtMap, evt,- inbnd, outbnd, Trace, tterms, originates, originationPos,+ inbnd, outbnd, evtIsLoad, evtIsStor, evtIsState,+ Trace, tterms, originates, originationPos, generates, generationPos, firstOccursPos, acquiredPos, gainedPos, genGainedPos, usedPos, insPrecedeOuts, Role, rname, rvars, rtrace, rnon, rpnon, runique, runiqgen, rabsent,@@ -16,7 +17,7 @@ addVars, firstOccurs, paramOfName, envsRoleParams, AForm (..), NodeTerm, Goal (..), Conj, fvsAForm, fvsConj, fvsAntec, fvsConsq, aFormOrder, aFreeVars, instantiateAForm, instantiateConj, Rule (..),- Prot, mkProt, pname, alg, pgen, psig, roles,+ Prot, mkProt, pname, alg, pgen, psig, roles, checkForDivergenceInStoreSegments, nullaryrules, unaryrules, generalrules, rules, userrules, generatedrules, listenerRole, varsAllAtoms, pcomment) where @@ -31,8 +32,8 @@ {-- import System.IO.Unsafe-import Control.Exception (try)-import System.IO.Error (ioeGetErrorString)+-- import Control.Exception (try)+-- import System.IO.Error (ioeGetErrorString) z :: Show a => a -> b -> b z x y = unsafePerformIO (print x >> return y)@@ -120,6 +121,18 @@ outbnd (Out t) = Just t outbnd _ = Nothing ++evtIsLoad :: Event -> Bool+evtIsLoad (In (ChMsg ch _)) = isLocn ch+evtIsLoad _ = False++evtIsStor :: Event -> Bool+evtIsStor (Out (ChMsg ch _)) = isLocn ch+evtIsStor _ = False+ +evtIsState :: Event -> Bool+evtIsState evt = evtIsLoad evt || evtIsStor evt+ -- A trace is a list of events. The terms in the trace are -- stored in causal order. type Trace = [Event]@@ -451,26 +464,204 @@ envsRoleParams rl vars = envOfParamVarPairs $ paramVarPairs rl vars -{---envsRoleParams rl g =- foldl- (\ges v -> concatMap- (\ge -> case paramOfName (varName v) rl of- Just p ->- case match p v ge -- (z ("ingoing env: "- -- ++ (show ge)) ge)- of- [] -> -- debug with z ("?" ++ (varName v))- [ge]- xs -> -- z ("! " ++ (show v) ++ " for " ++ (show p)- -- ++ " in " ++ (show xs))- xs- Nothing -> -- vars not locally bound may- -- occur elsewhere in formula- [ge])- ges)- [(g,emptyEnv)]+-- For two events, determine if, ignoring the msg contents, they could+-- possibly unify. If so, determine if they are both non-store+-- events, if only one is, or if both are. ++data AgreeData = Disagree+ | NonStore+ | HalfStore+ | FullStore++divergeAgreeStore :: Event -> AgreeData+divergeAgreeStore (Out (ChMsg ch2 _))+ | isLocn ch2 = FullStore+ | otherwise = HalfStore++divergeAgreeStore _ = HalfStore++divergeAgreeOutChan :: Event -> AgreeData+divergeAgreeOutChan (Out (ChMsg ch2 _))+ | isLocn ch2 = HalfStore+ | otherwise = NonStore++divergeAgreeOutChan _ = Disagree++divergeAgreeOutPlain :: Event -> AgreeData+divergeAgreeOutPlain (Out (ChMsg ch2 _))+ | isLocn ch2 = HalfStore+ | otherwise = Disagree++divergeAgreeOutPlain (Out (Plain _)) = NonStore+divergeAgreeOutPlain _ = Disagree++divergeAgreeInChan :: Event -> AgreeData+divergeAgreeInChan (Out (ChMsg ch2 _))+ | isLocn ch2 = HalfStore+ | otherwise = Disagree++divergeAgreeInChan (Out (Plain _)) = Disagree+divergeAgreeInChan (In (ChMsg _ _)) = NonStore+divergeAgreeInChan _ = Disagree++divergeAgreeInPlain :: Event -> AgreeData+divergeAgreeInPlain (Out (ChMsg ch2 _))+ | isLocn ch2 = HalfStore+ | otherwise = Disagree+ +divergeAgreeInPlain (In (Plain _)) = NonStore+divergeAgreeInPlain _ = Disagree++-- ++divergeEventsAgree :: Event -> Event -> AgreeData+divergeEventsAgree (Out (ChMsg ch1 _))+ | isLocn ch1 = divergeAgreeStore+ | otherwise = divergeAgreeOutChan++divergeEventsAgree (Out _) = divergeAgreeOutPlain+divergeEventsAgree (In (ChMsg _ _)) = divergeAgreeInChan+divergeEventsAgree (In _) = divergeAgreeInPlain++-- By a varTrail, we mean a list of terms without repetitions+-- consisting only of sorted variables, and we want to apply+-- substitutions to them, assuring that the subst is acting as a+-- renaming on them. This means that it should be convertible, and it+-- not yield repeated entries, i.e. it should be injective on these+-- variables.++type VarTrail = [Term]++substVarTrail :: Gen -> Subst -> VarTrail -> Maybe VarTrail+substVarTrail gen subst varList =+ case mapM (substInvertibly gen subst) varList of+ Nothing -> Nothing+ Just image ->+ if repeatedEntries image then Nothing+ else if any (not . isVar) image then Nothing+ else Just image+ where+ repeatedEntries [] = False+ repeatedEntries (a : rest) =+ a `elem` rest ||+ repeatedEntries rest++ +eventVars :: Event -> [Term]+eventVars e =+ foldr (\t soFar -> union (sortedVarsIn t) soFar)+ [] + (cmTerms $ evtCm e) ++data DivergeOutcome = Safe | Unsafe Int++combineOutcomes :: [DivergeOutcome] -> DivergeOutcome+combineOutcomes [] = Safe+combineOutcomes (Unsafe i : _) = Unsafe i+combineOutcomes (Safe : rest) = combineOutcomes rest++type DivergeRest = VarTrail -> Gen -> Bool -> Int -> DivergeOutcome++divergeDescendSensitive :: Event -> Event -> [Event] -> [Event] -> DivergeRest+divergeDescendSensitive e1 e2 rest1 rest2 vars g _ i =+ let gsubsts = cmUnify (evtCm e1) (evtCm e2) (g,emptySubst) in + case mapM (\(g,subst) -> substVarTrail g subst vars) gsubsts of+ Nothing -> Unsafe i+ Just varLists -> + combineOutcomes+ (map+ (\((g,s),vars) -> -- vars are already substituted above+ let sub = substitute s in + let newVars = union (eVars sub e1)+ (union (eVars sub e2) vars) in+ (divergeLoop+ (map (evtMap $ sub) rest1)+ (map (evtMap $ sub) rest2)+ newVars g True (i+1)))+ $ zip gsubsts varLists)+ where+ eVars f e = L.nub $ map f $ eventVars e++divergeDescend :: Event -> Event -> [Event] -> [Event] -> DivergeRest+divergeDescend e1 e2 rest1 rest2 vars g inStore i =+ let gsubsts = cmUnify (evtCm e1) (evtCm e2) (g,emptySubst) in + combineOutcomes+ (map+ (\((g,s)) -> -- vars are not yet substituted+ let sub = substitute s in + let newVars = union (eVars sub e1)+ $ union (eVars sub e2) $ map sub vars in+ (divergeLoop+ (map (evtMap sub) rest1)+ (map (evtMap sub) rest2)+ newVars g inStore (i+1)))+ gsubsts)+ where+ eVars f e = L.nub $ map f $ eventVars e++divergeLoop :: [Event] -> [Event] -> DivergeRest+divergeLoop [] [] _ _ _ _ = Safe +divergeLoop [] _ _ _ inStore i = if inStore then Unsafe i else Safe+divergeLoop _ [] _ _ inStore i = if inStore then Unsafe i else Safe++divergeLoop (e1 : rest1) (e2 : rest2) vars g inStore i =+ case divergeEventsAgree e1 e2 of+ HalfStore -> if inStore then Unsafe i else Safe+ Disagree -> Safe ++ -- A NonStore makes inStore false the *next* time through+ NonStore -> divergeDescend e1 e2 rest1 rest2 vars g False i+ + -- A FullStore makes inStore true the *next* time through+ FullStore ->+ if inStore+ then divergeDescendSensitive+ e1 e2 rest1 rest2 vars g True i+ else divergeDescend+ e1 e2 rest1 rest2 vars g True i+++{-- +++ +divergeLoop :: [Event] -> [Event] -> DivergeRest+divergeLoop tr1 tr2 vars g inStore i+ | i == L.length tr1 && i == L.length tr2 = Safe+ | i == L.length tr1 || i == L.length tr2 =+ if inStore then Unsafe i else Safe+ | otherwise =+ let e1 = tr1 !! i in+ let e2 = tr2 !! i in+ ++ --}++ ++ ++rolesDivergeInStoreSeg :: Role -> Role -> Gen -> DivergeOutcome +rolesDivergeInStoreSeg r1 r2 g =+ divergeLoop (rtrace r1) (rtrace r2) [] + g False 0++checkForDivergenceInStoreSegments :: Prot -> Maybe (String, String, Int) +checkForDivergenceInStoreSegments p =+ loop $ L.reverse $ roles p+ where+ loop [] = Nothing + loop (r : rest) =+ case subloop r rest of+ Nothing -> loop rest+ Just (name, name', i) -> Just (name, name', i)++ subloop _ [] = Nothing+ subloop r (r' : rest) = + case rolesDivergeInStoreSeg r r' (pgen p) of+ Unsafe i -> Just (rname r, rname r', i)+ Safe -> subloop r rest -- Security Goals
src/CPSA/Query/Main.hs view
@@ -63,7 +63,7 @@ -- -h --help show help message -- -v --version show version number --- Copyright (c) 2009 The MITRE Corporation+-- Copyright (c) 2024 The MITRE Corporation -- -- This program is free software: you can redistribute it and/or -- modify it under the terms of the BSD License as published by the
src/CPSA/Reduction.hs view
@@ -142,6 +142,8 @@ setsEq (map (translateNode sidMap) $ unrealized k1) $ unrealized k2 +{--+ -- Suppose homomorphism H has strand map sm1 and homomorphism J has -- strand map sm2, where H's target is J's source. @@ -154,6 +156,8 @@ -- (map ((!!) sm2) ) -- map ((!!) (take (L.length sm1) sm2)) sm1 +--}+ -- A seen history as a list. newtype Seen = Seen [IPreskel]@@ -416,12 +420,20 @@ else (j,k') : maybeAdd (i,k) rest fixStrandMap :: Preskel -> [Sid] -> Preskel-fixStrandMap k sm =- updateStrandMap (composeStrandMap sm1 sm2)- -- (if sm1Challenging sm1- -- then z ("sm1 is challenging: " ++ (show sm1)) sm1- -- else sm1)- -- sm2+fixStrandMap k _ = k ++{--+ fixStrandMap k sm =+ updateStrandMap (composeStrandMap -- sm1 sm2+ (if sm1Challenging sm1+ then (z ("sm1 is challenging: " ++ (show sm1) +++ (if generalized k+ then " generalizing "+ else " ") +++ (show sm2))+ sm1)+ else sm1)+ sm2) k where (sm1, sm2) =@@ -430,7 +442,8 @@ else (getStrandMap kop, sm) kop = operation k- -- sm1Challenging = any ((<=) (L.length sm)) + sm1Challenging = any ((<=) (L.length sm))+ --} generalized :: Preskel -> Bool generalized k =@@ -445,7 +458,7 @@ where f sofar (Reduct lk _ _ _) = lk : sofar f sofar (Genlz lk _ _ _) = lk : sofar- f sofar (ReductStable _) = sofar+ f sofar (ReductStable lk) = lk : sofar type Next = (Int, Seen, [LPreskel], [SeenSkel])
src/CPSA/RoleCoq/Main.hs view
@@ -45,7 +45,8 @@ hPutStrLn h ("(** Protocol: " ++ pname prot ++ " (" ++ displayPos (ppos prot) ++ ") *)") hPutStrLn h ""- hPutStrLn h "Require Import String List Alg Role."+ hPutStrLn h "From Stdlib Require Import String List."+ hPutStrLn h "Require Import Alg Role." hPutStrLn h "Import List.ListNotations." hPutStrLn h "Open Scope list_scope." hPutStrLn h "Open Scope string."
src/CPSA/Strand.hs view
@@ -5,6 +5,18 @@ -- 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,@@ -38,11 +50,13 @@ import CPSA.Protocol import CPSA.Operation + {-- 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)@@ -53,6 +67,52 @@ zShow :: Show a => a -> a zShow x = z (show x) x +zShow' :: Show a => String -> a -> String +zShow' s x = (show (s, x)) ++kShow :: String -> Int -> Preskel -> String +kShow s n k = + if L.length (strands k) == n then + zShow' s k+ else + "no show" ++goodParent :: Preskel -> Bool+goodParent k = + let xs = insts k in + (L.length xs == 5) &&+ ("short-init" == (rname $ role (xs !! 2))) &&+ ("short-short-init" == (rname $ role (xs !! 3))) &&+ ("resp" == (rname $ role (xs !! 4)))++goodChild :: Preskel -> Bool +goodChild k = + let xs = insts k in + L.length xs == 4 &&+ "short-short-init" == (rname $ role (xs !! 2)) &&+ "resp" == (rname $ role (xs !! 3))++tShow1 :: Show a => Preskel -> Preskel -> a -> String +tShow1 k k' m = + if goodParent k && goodChild k' then + z (show ("gparent", k)) (show k)+ else + ""++tShow2 :: Show a => Preskel -> Preskel -> a -> String +tShow2 k k' m = + if goodParent k && goodChild k' then+ z (show ("gchild", k')) (show k')+ else + ""++tShow3 :: Show a => Preskel -> Preskel -> a -> String +tShow3 k k' m = + if goodParent k && goodChild k' then + z (show ("gmapping", m)) (show m)+ else + ""+ zb :: Show a => a -> Bool -> Bool zb a False = z a False zb _ b = b@@ -72,6 +132,9 @@ zl :: Show a => [a] -> [a] zl a = z (length a) a +zp :: Show a => (a, b) -> (a, b)+zp (x, y) = z (show x) (x, y)+ zi :: Instance -> String zi inst = show (map f e)@@ -298,6 +361,13 @@ graphNode :: GraphNode e i -> Node graphNode n = (sid (strand n), pos n) +{- isStateNode :: GraphNode Event i -> Bool+isStateNode n =+ case (event n) of+ In (ChMsg ch _) -> isLocn ch+ Out (ChMsg ch _) -> isLocn ch+ _ -> False -}+ type GraphEdge e i = (GraphNode e i, GraphNode e i) -- The pair of an edge@@ -1349,6 +1419,7 @@ AddedAbsence sm (substitute subst t1) (substitute subst t2) (substCause subst cause) substOper _ m@(Generalized _ _) = m substOper _ m@(Collapsed _ _ _) = m+substOper _ m@(AppliedRules _) = m substCause :: Subst -> Cause -> Cause substCause subst (Cause dir n t escape) =@@ -1378,7 +1449,9 @@ (kauth k) (map (updateFact $ updateStrand s s') (kfacts k)) (updatePriority perm (kpriority k))- (operation k)+ (operation k) -- strand map not updated here, but it's+ -- corrected from the PRS component+ -- returned below (krules k) (pprob k) (updateProb perm (prob k))@@ -2297,17 +2370,20 @@ separateVariablesLimit = 1024 generalize :: Preskel -> [Candidate]-generalize k = deleteTerminal k ++- deleteNodes k ++- forgetAssumption k ++- weakenOrderings k ++- (if useVariableSeparation- then take separateVariablesLimit (separateVariables k)- else [])+generalize k =+ (deleteNodes k' +++ forgetAssumption k' +++ weakenOrderings k' +++ (if useVariableSeparation+ then (take separateVariablesLimit+ (separateVariables k'))+ else []))+ where+ k' = withCoreFacts k -- terminal strand deletion -strandTerminal :: Preskel -> Sid -> Bool+{--strandTerminal :: Preskel -> Sid -> Bool strandTerminal k s = not(any (\((s1,_),_) -> s == s1) (orderings k)) @@ -2326,14 +2402,15 @@ (deleteOrderings s (tc k)) (updatePerm s s (prob k)) (map (updateFact (updateStrand s s))- (deleteStrandFacts s $ kfacts k))),+ (deleteStrandFacts s $ kfacts k))+ (deleteNth s (strandids k))), deleteNth s (strandids k), s) | s <- [0 .. (L.length (insts k))-1], strandNonPov k s, strandTerminal k s] report [] = []- report ((k', mapping, _) : rest) = (k',mapping) : report rest+ report ((k', mapping, _) : rest) = (k',mapping) : report rest --} {-- debugging apparatus: (zP@@ -2360,20 +2437,37 @@ deleteNodes k = do strand <- strands k- node <- nodes strand+ node <- nodes strand cand <- deleteNode k node- return $ candWithCoreFacts cand+ -- (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 -candWithCoreFacts :: Candidate -> Candidate+{- candWithCoreFacts :: Candidate -> Candidate candWithCoreFacts (k,sids) =- (withCoreFacts k, sids)+ (withCoreFacts k, sids) -} deleteNode :: Preskel -> Vertex -> [(Preskel, [Sid])] deleteNode k n | p == 0 && elem s (prob k) = []- | p == 0 =- do+ | p == 0 = + let mapping = deleteNth s (strandids k) 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'' = kShow "child" 4 k' + --let mapping' = zShow' "mapping" mapping + --tShow1 k k' mapping `deepseq` tShow2 k k' mapping `deepseq` tShow3 k k' mapping `deepseq` + [(k', mapping)]+ {- do let mapping = deleteNth s (strandids k)+ --let k1 = kShow "parent" 5 k let k' = deleteNodeRest k (gen k) (s, p) (deleteNth s (insts k)) (deleteOrderings s (tc k))@@ -2381,7 +2475,11 @@ (map (updateFact (updateStrand s s)) (deleteStrandFacts s $ kfacts k))- return (k', mapping)+ mapping+ --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` return (k', mapping) -}+ --(kShow "parent" 5 k, kShow "child" 4 k', zShow' "mapping" mapping) `deepseq` return (k', mapping) | otherwise = do let mapping = strandids k@@ -2392,6 +2490,7 @@ (shortenOrderings (s, p) (tc k)) (prob k) (deleteNodeFacts s p (kfacts k))+ mapping return (k', mapping) where p = pos n@@ -2430,11 +2529,11 @@ | otherwise = [p] deleteNodeRest :: Preskel -> Gen -> Node -> [Instance] -> [Pair] ->- [Sid] -> [Fact] -> Preskel-deleteNodeRest k gen n insts' orderings prob facts =+ [Sid] -> [Fact] -> [Sid] -> Preskel+deleteNodeRest k gen n insts' orderings prob facts mapping = newPreskel gen (shared k) insts' orderings non' pnon' unique' uniqgen' absent' precur' genSt' conf'- auth' facts prio' (Generalized [] (Deleted n)) [] (pprob k) prob (pov k)+ auth' facts prio' (Generalized mapping (Deleted n)) [] (pprob k) prob (pov k) where -- Drop nons that aren't mentioned anywhere non' = filter mentionedIn (knon k)@@ -2475,8 +2574,9 @@ g (FSid s') = s /= s' g (FTerm _) = True --- Correct this! When we know how to filter based on strand and--- index. !!!!+-- Omit facts that contain a strand and index that refer to the strand+-- being deleted unless the index is before the deletion point.+ deleteNodeFacts :: Sid -> Int -> [Fact] -> [Fact] deleteNodeFacts s p facts = filter f facts@@ -2536,9 +2636,34 @@ map (weakenOrdering k) (orderings k) weakenOrdering :: Preskel -> Pair -> Candidate-weakenOrdering k p =- weaken k p (L.delete p (tc k))+weakenOrdering k (n, n') =+ weaken k (n, n')+ (filter+ (\(m, m') -> not(sameContractedEvent k n m && sameContractedEvent k n' m'))+ (tc k)) +sameContractedEvent :: Preskel -> Node -> Node -> Bool+sameContractedEvent k (s, i) (s', i') =+ (s == s') &&+ (i == i' ||+ (nodeIsStateNode k (s, i) && nodeIsStateNode k (s', i') &&+ case compare i i' of+ LT -> validSubSeg (nodeIsStor k (s, i)) k s i i'+ EQ -> True+ GT -> validSubSeg (nodeIsStor k (s, i')) k s i' i))+ where+ -- Boolean argument says whether we have crossed into the stor part+ validSubSeg False k s i i' =+ if i == i' then True else+ case nodeIsStateNode k (s, i + 1) of+ False -> False+ True -> validSubSeg (nodeIsStor k (s, i + 1)) k s (i + 1) i'+ validSubSeg True k s i i' =+ if i == i' then nodeIsStor k (s, i) else+ case nodeIsStor k (s, i + 1) of+ False -> False+ True -> validSubSeg True k s (i + 1) i'+ weaken :: Preskel -> Pair -> [Pair] -> Candidate weaken k p orderings = addIdentity k'@@ -2546,7 +2671,7 @@ k' = newPreskel (gen k) (shared k) (insts k) orderings (knon k) (kpnon k) (kunique k) (kuniqgen k) (kabsent k) (kprecur k) (kgenSt k) (kconf k) (kauth k) (kfacts k) (kpriority k)- (Generalized [] (Weakened p)) [] (pprob k) (prob k) (pov k)+ (Generalized (strandids k) (Weakened p)) [] (pprob k) (prob k) (pov k) -- Origination assumption forgetting @@ -2722,11 +2847,11 @@ k0 = newPreskel gen' (shared k) insts' (orderings k) non pnon unique0 uniqgen0 (kabsent k) (kprecur k) (kgenSt k) (kconf k) (kauth k) (kfacts k) (kpriority k)- (Generalized [] (Separated t))+ (Generalized (strandids k) (Separated t)) [] (pprob k) (prob k) (pov k) k1 = newPreskel gen' (shared k) insts' (orderings k) non pnon unique1 uniqgen1 (kabsent k) (kprecur k) (kgenSt k)- (kconf k) (kauth k) facts (kpriority k) (Generalized []+ (kconf k) (kauth k) facts (kpriority k) (Generalized (strandids k) (Separated t)) [] (pprob k) (prob k) (pov k) (gen', insts') = changeStrands locs t gen (strands k)@@ -3302,6 +3427,21 @@ Nothing -> False Just (_,chm) -> isStateChMsg chm +-- Not currently used+{- nodeIsLoad :: Preskel -> Node -> Bool +nodeIsLoad k p = + case dirChMsgOfNode p k of + Nothing -> False + Just (Send, _) -> False + Just (Recv, chm) -> isStateChMsg chm -}++nodeIsStor :: Preskel -> Node -> Bool +nodeIsStor k p = + case dirChMsgOfNode p k of + Nothing -> False + Just (Send, chm) -> isStateChMsg chm + Just (Recv, _) -> False+ gstateNode :: NodeTerm -> Sem gstateNode n k (g, e) = case nodeLookup e n of@@ -3518,7 +3658,7 @@ simplify k = if checkNullary k then- case rewrite $ withCoreFacts k of+ case rewrite k of -- $ withCoreFacts k of -- YIKES! Nothing -> [k] Just ks -> ks else@@ -3960,7 +4100,7 @@ (Just s, Just t) | s == t -> Some (k, (g, e)) | s < (L.length (insts k)) && t < (L.length (insts k)) ->- (case rDisplace e (k {gen = g}) s t of+ (case rDisplace e (k {gen = gmerge g (gen k)}) s t of [] -> None [(k', (g',e'))] -> Some (k', (g',e')) l ->@@ -4306,6 +4446,22 @@ genStV' conf' auth' facts' (kpriority k) operation' (krules k) (pprob k) (prob k) (pov k) +compressUpdate :: Int -> Int -> [Sid] -> [Sid]+compressUpdate i j xs = + case (i < L.length xs, j < L.length xs) of + (True, True) ->+ map (updateStrand i j) xs +-- error ("compressUpdate: Cannot displace existing strand " +++-- (show i) ++ " onto existing strand " +++-- (show j))+ (True, False) ->+ let x = xs !! i in + L.delete x xs ++ [x]+ (_, _) -> xs+ -- Compressing a new strand onto an old or onto another new strand+ -- does not change strand map. ++ -- Does rCompress assume that s \not= s'? s is old, s' is new rCompress :: Preskel -> Sid -> Sid -> [Preskel] rCompress k s s' =@@ -4331,7 +4487,7 @@ (map (updateFact $ updateStrand s s') (kfacts k)) (updatePriority perm (kpriority k)) (let op = operation k in - addStrandMap (updatePerm s s' (getStrandMap op))+ addStrandMap (compressUpdate s s' (getStrandMap op)) op) (krules k) (pprob k)@@ -4661,7 +4817,7 @@ (Just s, Just t) | s == t -> [(k, (g, e))] | s < (L.length (insts k)) && t < (L.length (insts k)) ->- rDisplace e (k {gen = g}) s t+ rDisplace e (k {gen = gmerge g (gen k)}) s t | otherwise -> error ("req: indices too large, (" ++ (show s) ++ ", " ++ (show t) ++ " in env " ++ (show e)) _ ->
− src/cpsa4prolog.pl
@@ -1,98 +0,0 @@-% -*- mode: prolog -*---%% Library of predicates for analyzing cpsa4dbprolog output--%% The cpsa4db and cpsa4dbprolog programs are used to analyze the-%% output of cpsa4. They translate cpsa4 output into a Prolog database-%% that captures the essential features of the output in a form that-%% can be queried using all of the power and flexibility of Prolog.--%% cpsa4db assembles the skeletons in the output into a forest of-%% derivation trees. cpsa4dbprolog then prints the forest in Prolog-%% syntax. To be loadable by Prolog, the output must be sorted so-%% that clauses of one predicate are colocated. The sorting program-%% provided in all dialects of Unix does the job.--%% The output should be used by SWI Prolog as strings must not be-%% atoms. Load the file generated by cpsa4prolog using consult/1.-%% Next load your query. This file contains useful predicates that-%% may help formulate your query. The comments for each predicate are-%% intended help users understand the output format.--%% Copyright (c) 2024 The MITRE Corporation--%% 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.--%% PATHS--%% The predicate path(L, Ls) is true if Ls is a path through the-%% derivation tree that starts with label L and ends with the label of-%% a skeleton that is at the root of the tree that contains L. The-%% path predicate uses the step/3 predicate to determine if a skeletion-%% was derived from another skeleton.--%% The step predicate defines a transition relation for individual-%% cpsa4 steps. step(P, O, L) is true if a cpsa4 step that started at-%% the skeleton labeled P produced a skeleton labeled L using the-%% operation O. Notice that the same skeleton can appear as the-%% result of a step starting at different skeletons. This means the-%% path predicate can find more than one path to the root.--%% For the path predicate, the operation field information is not-%% used.--path(L, [L]) :-- root(L).--path(L, [L|Ls]) :-- step(P, _, L),- path(P, Ls).--%% A derivation tree is really a directed acyclic graph. If the links-%% used for seen children are removed, the derivation tree becomes a-%% true tree--every child has exactly one parent. The child/2-%% predicate encodes that relation. It is used to traverse the tree-%% without revisiting a skeleton twice. One can use it to count the-%% number of skeletons in a tree, for example. Here we use it to find-%% the terminal skeletons without deplicates. A terminal node is one-%% that has no successors.--terminal(L) :-- step(L, _, _), !,- fail.-terminal(_).--acc(W, W).-acc(W, X) :-- child(W, Y),- acc(Y, X).--%% A query to find the terminal skeletons using these predicates follows.--%% ask(L) :--%% root(W), acc(W, L), terminal(L).--%% SKELETON ASSOCIATION LISTS--%% The body of a skeleton is available as an association list. It can-%% be queried using has_key_val(L, K, V), where L is a skeleton label,-%% K is a key, and V is its value.--has_key_val(L, K, V) :-- skel(L, A),- assoc(A, K, V).--assoc([[K | V] | _], K, V).-assoc([_ | A], K, V) :-- assoc(A, K, V).--%% A query to find the labels of skeletons that are not eventually-%% dead follows.--%% ask(L) :--%% root(W), acc(W, L), acc(L, X), terminal(X), \+has_key_val(X, dead, _).--%% ask_all(Ls) :--%% findall(L, ask(L), Ls).
tst/aik.tst view
@@ -382,7 +382,7 @@ (parent 11) (seen 10) (seen-ops- (10 (operation generalization deleted (1 0)) (strand-map 0 4 2 3)))+ (10 (operation generalization deleted (1 0)) (strand-map 0 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -568,7 +568,7 @@ (parent 14) (seen 10) (seen-ops- (10 (operation generalization deleted (1 0)) (strand-map 0 3 4 2)))+ (10 (operation generalization deleted (1 0)) (strand-map 0 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/atomic-open-closed.tst view
@@ -232,14 +232,14 @@ (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+ (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 invShearsRule+ (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)@@ -280,7 +280,12 @@ (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)))))))+ (or (= z z1) (prec z1 i z (idx 1))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton atomic-open-closed (vars (k skey) (d o name) (start-ch chan))@@ -569,14 +574,14 @@ (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+ (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 invShearsRule+ (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)@@ -617,7 +622,12 @@ (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)))))))+ (or (= z z1) (prec z1 i z (idx 1))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton atomic-open-closed (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))@@ -659,9 +669,8 @@ (auth start-ch) (facts (same-dev ls lk)) (leads-to ((1 2) (0 1)))- (rule atomic-up-pass dev-up-completes intro-same-dev-pass- intro-same-dev-up same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule atomic-up-pass dev-up-completes intro-same-dev-up same-dev-lk-ls+ trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (operation channel-test (added-strand dev-up 3) (ch-msg lk (cat pt-1 "st-k" d o k)) (0 1)) (strand-map 0)@@ -690,8 +699,6 @@ (auth start-ch) (facts (same-dev ls lk)) (leads-to ((1 2) (0 1)))- (rule intro-same-dev-pass trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -724,10 +731,9 @@ (auth start-ch) (facts (same-dev ls lk)) (leads-to ((1 2) (0 1)) ((3 3) (0 2)))- (rule cau-dev-pass-2 dev-open-atomic1 gen-state-open- intro-same-dev-open intro-same-dev-pass invShearsRule same-dev-ls-lk- trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule cau-dev-pass-2 dev-open-atomic1 discreteBefore gen-state-open+ intro-same-dev-open same-dev-ls-lk trRl_dev-open-at-2+ trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4) (ch-msg ls (cat pt "st" d o o)) (0 2)) (strand-map 0 1 2)@@ -742,51 +748,46 @@ (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"))+ (comment "1 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))+ (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 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)))+ (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (lk lk) (ls ls))+ (precedes ((1 0) (3 0)) ((2 3) (0 1)) ((3 4) (2 1))) (uniq-orig 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 ((1 2) (0 1)) ((1 2) (3 1)) ((3 3) (0 2)))- (rule intro-same-dev-pass trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (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)+ (leads-to ((2 3) (0 2)) ((3 2) (0 1)) ((3 2) (2 1)))+ (rule atomic-up-pass dev-up-completes discreteBefore intro-same-dev-up+ same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3+ trRl_dev-up-at-4)+ (operation channel-test (added-strand dev-up 3)+ (ch-msg lk (cat pt-2 "st-k" d o k)) (3 1))+ (strand-map 0 2 3 1) (traces- ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o 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)))- ((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))))+ ((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 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)))) (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))))+ (origs (pt-2 (3 2)) (pt-4 (3 4)) (pt (2 3)) (n (0 3)))) (comment "Nothing left to do") @@ -1018,14 +1019,14 @@ (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+ (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 invShearsRule+ (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)@@ -1066,7 +1067,12 @@ (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)))))))+ (or (= z z1) (prec z1 i z (idx 1))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton atomic-open-closed (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)@@ -1135,7 +1141,6 @@ (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k)) (conf start-ch) (facts (same-dev ls lk))- (rule intro-same-dev-pass) (operation encryption-test (added-strand user-pass 1) (enc "may I pass" k) (1 0)) (strand-map 0 1)@@ -1159,7 +1164,6 @@ (gen-st (cat "st" d-0 o-0 o-0) (cat "st-k" d-0 o-0 k)) (conf start-ch) (facts (same-dev ls lk))- (rule intro-same-dev-pass) (operation encryption-test (added-listener k) (enc "may I pass" k) (1 0)) (strand-map 0 1)@@ -1188,9 +1192,8 @@ (auth start-ch-0) (facts (same-dev ls lk)) (leads-to ((3 2) (1 1)))- (rule atomic-up-pass dev-up-completes intro-same-dev-pass- intro-same-dev-up same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule atomic-up-pass dev-up-completes intro-same-dev-up same-dev-lk-ls+ trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -1222,9 +1225,8 @@ (conf start-ch) (auth start-ch) (facts (same-dev ls-0 lk-0) (same-dev ls lk))- (rule dev-up-atomic2 dev-up-completes intro-same-dev-pass- intro-same-dev-up trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4)+ (rule dev-up-atomic2 dev-up-completes intro-same-dev-up+ 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 3) k (2 0) (ch-msg start-ch (cat "power-up" d-0 o-0 k))) (strand-map 0 1 2)@@ -1257,8 +1259,6 @@ (auth start-ch) (facts (same-dev ls lk)) (leads-to ((3 2) (1 1)))- (rule intro-same-dev-pass trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -1292,10 +1292,9 @@ (auth start-ch) (facts (same-dev ls lk)) (leads-to ((3 2) (1 1)) ((4 3) (1 2)))- (rule cau-dev-pass-2 dev-open-atomic1 gen-state-open- intro-same-dev-open intro-same-dev-pass invShearsRule same-dev-ls-lk- trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule cau-dev-pass-2 dev-open-atomic1 discreteBefore gen-state-open+ intro-same-dev-open same-dev-ls-lk trRl_dev-open-at-2+ trRl_dev-open-at-3) (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)@@ -1310,139 +1309,117 @@ (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"))+ (comment "1 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))+ (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-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)))+ (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) (4 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 4) (3 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 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))- (rule intro-same-dev-pass trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (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)+ (leads-to ((3 3) (1 2)) ((4 2) (1 1)) ((4 2) (3 1)))+ (rule atomic-up-pass dev-up-completes discreteBefore intro-same-dev-up+ same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3+ trRl_dev-up-at-4)+ (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 4 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))+ ((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 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 (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 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)))) (label 18) (parent 17)- (unrealized (0 1) (4 0))+ (unrealized (0 1) (3 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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (4 0)) ((2 0) (1 0)) ((3 3) (1 1)) ((4 4) (3 1))+ ((5 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) (facts (same-dev ls lk))- (leads-to ((3 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))- (rule intro-same-dev-pass trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((3 3) (1 2)) ((4 2) (1 1)) ((4 2) (3 1))) (operation encryption-test (added-strand owner-open 1)- (enc "open" d o n-0 k) (4 0))+ (enc "open" d o n-0 k) (3 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))+ ((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 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 (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 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 "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"))+ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((2 0) (1 0)) ((3 3) (1 1))+ ((4 4) (3 1)) ((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 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))- (rule intro-same-dev-pass trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((3 3) (1 2)) ((4 2) (1 1)) ((4 2) (3 1))) (operation encryption-test (added-listener k) (enc "open" d o n-0 k)- (4 0))+ (3 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))+ ((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 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)))+ ((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 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))) ((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"))+ (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)@@ -1463,11 +1440,10 @@ (auth start-ch) (facts (same-dev ls lk)) (leads-to ((3 3) (1 2)) ((5 2) (1 1)) ((5 2) (3 1)))- (rule intro-same-dev-pass trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation encryption-test (displaced 3 6 dev-up 6) (enc "up" k)- (0 1))- (strand-map 0 1 2 5 3 4)+ (rule intro-same-dev-up power-deliver-once trRl_dev-up-at-1+ trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (operation encryption-test (added-strand dev-up 6) (enc "up" k) (0 1))+ (strand-map 0 1 2 3 5 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)))@@ -1489,130 +1465,120 @@ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (4 0)) ((0 0) (6 0)) ((2 0) (1 0)) ((3 3) (1 1))+ ((4 4) (3 1)) ((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 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))- (rule intro-same-dev-pass trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((3 3) (1 2)) ((4 2) (1 1)) ((4 2) (3 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)))- ((recv (enc "may I pass" k)) (load lk (cat pt-1 "st-k" d o 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 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)))+ ((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 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 "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"))+ (comment "1 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))+ (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-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)))+ (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))) (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 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))- (rule dev-up-atomic2 intro-same-dev-pass trRl_dev-open-at-2- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 6 3 dev-up 3) k (5 0)+ (leads-to ((3 3) (1 2)) ((5 2) (1 1)) ((5 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 4 5)+ (strand-map 0 1 2 3 5 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))+ ((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 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)))+ ((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)))) (label 23) (parent 20)- (unrealized (0 1) (5 0))+ (unrealized (0 1) (4 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))+ (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-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)))+ (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))) (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 2) (1 1)) ((3 2) (4 1)) ((4 3) (1 2)))- (rule dev-up-atomic2 intro-same-dev-pass trRl_dev-open-at-2- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 7 3 dev-up 3) k (6 0)+ (leads-to ((3 3) (1 2)) ((6 2) (1 1)) ((6 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 4 5 6)+ (strand-map 0 1 2 3 5 6 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))+ ((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 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)))+ ((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)))) (label 24) (parent 22)- (unrealized (6 0))+ (unrealized (5 0)) (dead) (comment "empty cohort"))
tst/dh-ca_hack.tst view
@@ -5613,7 +5613,7 @@ (seen 109) (seen-ops (109 (operation generalization separated b-0)- (strand-map 0 1 2 4 3)))+ (strand-map 0 1 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen"))
− tst/dhcr_um.lisp
@@ -1,206 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; function relation declarations to link names to long-term public-;;; values.--;;; This file contains the standard version, in which the two-;;; ephemeral are mixed, as are the two static exponents.--;;; A role is provided in which a party signs a fresh long-term-;;; Diffie-Hellman value, and then leaks the exponent. The latter step-;;; is used to test the notion of forward security.--;;; Two inputs are analyzed. In the first, we model that two-;;; participants exist that agree on the UM key. The notion of-;;; "implicit authentication" suggests that if one participant exists-;;; and another party knows the same key, that party must be either the-;;; participant or the participant's intended partner.--;;; In this version, we assume that the long-term keys of the-;;; participants do not leak.--;;; The second input checks whether the key can be learned when the key-;;; is generated honestly. In this version, we do NOT assume that the-;;; long-term keys of the participants do not leak.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy. ----(herald "DHCR: unified model (UM) original"- (bound 20)- (limit 12000)- (algebra diffie-hellman))--(defmacro (kcfa l gb x gy)- (hash (exp gb l) (exp gy x)))--(defmacro (kcfb l ga y gx)- (hash (exp ga l) (exp gx y)))--(defprotocol dhcr-um diffie-hellman- (defrole init- (vars (l x rndx) (gb gy base) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b gb (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat gy (enc na nb a b (kcfa l gb x gy))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- ;; (facts (neq gy (gen)))- (gen-st (pv a l))- (fn-of ("principal-of" (ltxa a) (ltxb b))- ("ltx-of" (a ltxa) (b ltxb))))-- (defrole resp- (vars (l y rndx) (ga gx base) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a ga (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b gx))- (send (cat (exp (gen) y) (enc na nb a b (kcfb l ga y gx))))- (recv nb)- )- (uniq-gen y)- (uniq-orig nb)- ;; (facts (neq gx (gen)))- (gen-st (pv b l))- (fn-of ("principal-of" (ltxa a) (ltxb b))- ("ltx-of" (a ltxa) (b ltxb))))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l) - (fn-of ("principal-of" (l self))- ("ltx-of" (self l))))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)) - (fn-of ("principal-of" (l self))- ("ltx-of" (self l))))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))--; Initiator point of view: both LTX exponents secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (gb (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))---; Initiator point of view: peer exponent secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (gb (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l)- (undisclosed l-peer)))---; Initiator point of view: my exponent secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (gb (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- (undisclosed l)))--; Initiator point of view: neither exponent secret--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (gb (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- ;; (undisclosed l)- ))--(comment - ; Initiator point of view: partner's exponent secret- (defskeleton dhcr-um- (vars (ltxa ltxb rndx) (a b name))- (defstrand init 4 (ltxa ltxa) (ltxb ltxb) (a a) (b b))- (defstrand ltx-gen 1 (l ltxb))- (non-orig ltxb)- (neq (a b)))-- ; Responder point of view; both exponents secret- (defskeleton dhcr-um- (vars (ltxa ltxb rndx) (a b name))- (defstrand resp 4 (ltxa ltxa) (ltxb ltxb) (a a) (b b))- (defstrand ltx-gen 1 (l ltxa))- (defstrand ltx-gen 1 (l ltxb))- (non-orig ltxa ltxb)- (neq (a b)))-- ; Responder point of view; partner's exponent secre- (defskeleton dhcr-um- (vars (ltxa ltxb rndx) (a b name))- (defstrand resp 4 (ltxa ltxa) (ltxb ltxb) (a a) (b b))- (defstrand ltx-gen 1 (l ltxa))- (non-orig ltxa)- (neq (a b)))--;;; Forward secrecy, neither long-term exponent secure- (defskeleton dhcr-um- (vars (ltxa ltxb x rndx) (y expt) (a b name))- (defstrand init 4 (ltxa ltxa) (ltxb ltxb) (x x) (y y) (a a) (b b))- (deflistener (kcfa ltxa ltxb x (exp (gen) y)))- (defstrand ltx-gen 3 (l ltxa))- (defstrand ltx-gen 3 (l ltxb))- (precedes ((0 3) (3 1)) ((0 3) (2 1)))- (neq (a b)))--;;; Forward secrecy, neither long-term exponent secure- (defskeleton dhcr-um- (vars (ltxa ltxb x rndx) (y expt) (a b name))- (defstrand init 4 (ltxa ltxa) (ltxb ltxb) (x x) (y y) (a a) (b b))- (deflistener (exp (gen) (mul x y)))- (defstrand ltx-gen 3 (l ltxa))- (defstrand ltx-gen 3 (l ltxb))- (precedes ((0 3) (3 1)) ((0 3) (2 1)))- (neq (a b)))- )
− tst/dhcr_um.scm
@@ -1,255 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the standard version, in which the two-;;; ephemeral are mixed, as are the two static exponents.--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; A sequence of queries are analyzed. Four show what happens given-;;; an initiator run, depnding which long term values are exposed.-;;; Then four ask the corresponding questions about the responder. In-;;; each group of four, we first assume neither long term exponent is-;;; exposed, then consider each exposure individually, and then both-;;; exposed. --;;; Then we consider the forward secrecy question, first from the-;;; initiator's point of view, and then from the responder's.--;;; The UM key derivation achieves forward secrecy. Its weakness is-;;; that if a participant's *own* long term value is exposed, an-;;; adversary can acquire a key shared with them for any claimed peer.-;;; This remains true if we stipulate that the partcipant generates a-;;; long trem key only once. If my peer's long term value is exposed-;;; of course anyone can impersonate them.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) original"- (bound 30)- (limit 4000)- (algebra diffie-hellman))--(defmacro (kcfa l gb x gy)- (hash (exp gb l) (exp gy x)))--(defmacro (kcfb l ga y gx)- (hash (exp ga l) (exp gx y)))--(defprotocol dhcr-um diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule ltx-gen-once-inference- (forall- ((z1 z2 strd) (self name))- (implies- (and- (fact ltx-gen-once self)- (p "ltx-gen" z1 2)- (p "ltx-gen" "self" z1 self)- (p "ltx-gen" z2 2)- (p "ltx-gen" "self" z2 self))- (= z1 z2))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))- --; Initiator point of view: both LTX exponents secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" b))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))----; Initiator point of view: peer exponent secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) ((exp (gen) beta) (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) ((exp (gen) beta) (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- (ltx-gen-once a)- ;; (undisclosed l)- (undisclosed l-peer)))--; Initiator point of view: my exponent secret-(defskeleton dhcr-um- (vars (a b name) (l rndx) (l-peer expt))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- (undisclosed l)))--; Initiator point of view: neither exponent secret--(defskeleton dhcr-um- (vars (a b name) (l rndx) (l-peer expt))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- ;; (undisclosed l)- ))---;;; Responder cases--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- ;; (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- (undisclosed l)- ;; (undisclosed l-peer)- ))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- ;; (undisclosed l)- ;; (undisclosed l-peer)- ))--;; Forward secrecy for each participant --(comment-;;; These forward secrecy queries are commented out because they take-;;; a long time to run (10 minutes plus). They're not suitable for-;;; the regular test suite for this reason.--;;; They should however be checked from time to time. -- (defskeleton dhcr-um- (vars (ltxa ltxb x rndx) (y expt) (a b name))- (defstrand init 5 (l ltxa) (beta ltxb) (x x) (eta y) (a a) (b b))- (deflistener (kcfa ltxa (exp (gen) ltxb) x (exp (gen) y)))- (defstrand ltx-disclose 3 (l ltxa))- (defstrand ltx-disclose 3 (l ltxb))- (precedes ((0 4) (3 0)) ((0 4) (2 0)))- (neq (a b)))-- (defskeleton dhcr-um- (vars (ltxa ltxb y rndx) (chi expt) (a b name))- (defstrand resp 6 (l ltxa) (alpha ltxb) (y y) (chi chi) (a a) (b b))- (deflistener (kcfb ltxb (exp (gen) ltxa) y (exp (gen) chi)))- (defstrand ltx-disclose 3 (l ltxa))- (defstrand ltx-disclose 3 (l ltxb))- (precedes ((0 5) (3 0)) ((0 5) (2 0)))- (neq (a b))))-
− tst/dhcr_um.tst
file too large to diff
− tst/dhcr_um3.scm
@@ -1,275 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the UM3 version, in which each ephemeral is-;;; mixed with the peer's static exponent, and the two ephemerals are-;;; also mixed with each other. Hence, there are three DH-;;; combinations that get hashed together. Only the key derivation-;;; macros differ from the version in dhcr_um.scm--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; A sequence of queries are analyzed. Four show what happens given-;;; an initiator run, depnding which long term values are exposed.-;;; Then four ask the corresponding questions about the responder. In-;;; each group of four, we first assume neither long term exponent is-;;; exposed, then consider each exposure individually, and then both-;;; exposed. --;;; Then we consider the forward secrecy question, first from the-;;; initiator's point of view, and then from the responder's.--;;; The UM3 key derivation achieves forward secrecy. Its weakness is-;;; that if a participant's *own* long term value is exposed, an-;;; adversary can acquire a key shared with them for any claimed peer.-;;; This remains true if we stipulate that the partcipant generates a-;;; long trem key only once. If my peer's long term value is exposed-;;; of course anyone can impersonate them.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) three-component version"- (bound 30)- (limit 8000)- (algebra diffie-hellman))----(defmacro (kcfa ltxa gbeta x hy)- (hash (exp hy ltxa) (exp gbeta x) (exp hy x)))--(defmacro (kcfb ltxb galpha y hx)- (hash (exp galpha y) (exp hx ltxb) (exp hx y)))---(defprotocol dhcr-um diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule ltx-gen-once-inference- (forall- ((z1 z2 strd) (self name))- (implies- (and- (fact ltx-gen-once self)- (p "ltx-gen" z1 2)- (p "ltx-gen" "self" z1 self)- (p "ltx-gen" z2 2)- (p "ltx-gen" "self" z2 self))- (= z1 z2))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))- --; Initiator point of view: both LTX exponents secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" b))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))----; Initiator point of view: peer exponent secret-(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) ((exp (gen) beta) (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) ((exp (gen) beta) (exp (gen) l-peer)))- (non-orig (privk "sig" b))- (facts (neq a b)- (ltx-gen-once a)- ;; (undisclosed l)- (undisclosed l-peer)))--; Initiator point of view: my exponent secret-(defskeleton dhcr-um- (vars (a b name) (l rndx) (l-peer expt))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- (undisclosed l)))--; Initiator point of view: neither exponent secret--(comment-;;; This query shows the myriad failure cases if there's no assumption-;;; about long term non-disclosure. It's commented out because it-;;; take a long time to run. It's not suitable for the regular test-;;; suite for this reason.--;;; It should however be checked from time to time. - (defskeleton dhcr-um- (vars (a b name) (l rndx) (l-peer expt))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- ;; (undisclosed l)- )))---;;; Responder cases--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- ;; (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- (undisclosed l)- ;; (undisclosed l-peer)- ))--(comment-;;; This query shows the myriad failure cases if there's no assumption-;;; about long term non-disclosure. It's commented out because it-;;; take a long time to run. It's not suitable for the regular test-;;; suite for this reason.--;;; It should however be checked from time to time. - (defskeleton dhcr-um- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a))- (facts (neq a b)- ;; (undisclosed l)- ;; (undisclosed l-peer)- )))--;; Forward secrecy for each participant --(comment-;;; These forward secrecy queries are commented out because they take-;;; a long time to run (10 minutes plus). They're not suitable for-;;; the regular test suite for this reason.--;;; They should however be checked from time to time. -- (defskeleton dhcr-um- (vars (ltxa ltxb x rndx) (y expt) (a b name))- (defstrand init 5 (l ltxa) (beta ltxb) (x x) (eta y) (a a) (b b))- (deflistener (kcfa ltxa (exp (gen) ltxb) x (exp (gen) y)))- (defstrand ltx-disclose 3 (l ltxa))- (defstrand ltx-disclose 3 (l ltxb))- (precedes ((0 4) (3 0)) ((0 4) (2 0)))- (neq (a b)))-- (defskeleton dhcr-um- (vars (ltxa ltxb y rndx) (chi expt) (a b name))- (defstrand resp 6 (l ltxa) (alpha ltxb) (y y) (chi chi) (a a) (b b))- (deflistener (kcfb ltxb (exp (gen) ltxa) y (exp (gen) chi)))- (defstrand ltx-disclose 3 (l ltxa))- (defstrand ltx-disclose 3 (l ltxb))- (precedes ((0 5) (3 0)) ((0 5) (2 0)))- (neq (a b))))-
− tst/dhcr_um3.tst
file too large to diff
− tst/dhcr_um3_goals.scm
@@ -1,286 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the UM3 version, in which each ephemeral is-;;; mixed with the peer's static exponent, and the two ephemerals are-;;; also mixed with each other. Hence, there are three DH-;;; combinations that get hashed together. Only the key derivation-;;; macros differ from the version in dhcr_um.scm--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; A sequence of queries are analyzed. Four show what happens given-;;; an initiator run, depnding which long term values are exposed.-;;; Then four ask the corresponding questions about the responder. In-;;; each group of four, we first assume neither long term exponent is-;;; exposed, then consider each exposure individually, and then both-;;; exposed. --;;; Then we consider the forward secrecy question, first from the-;;; initiator's point of view, and then from the responder's.--;;; The UM3 key derivation achieves forward secrecy. Its weakness is-;;; that if a participant's *own* long term value is exposed, an-;;; adversary can acquire a key shared with them for any claimed peer.-;;; This remains true if we stipulate that the partcipant generates a-;;; long trem key only once. If my peer's long term value is exposed-;;; of course anyone can impersonate them.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) three-component version"- (bound 30)- (limit 8000)- (algebra diffie-hellman))----(defmacro (kcfa ltxa gbeta x hy)- (hash (exp hy ltxa) (exp gbeta x) (exp hy x)))--(defmacro (kcfb ltxb galpha y hx)- (hash (exp galpha y) (exp hx ltxb) (exp hx y)))---(defprotocol dhcr-um3 diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule ltx-gen-once-inference- (forall- ((z1 z2 strd) (self name))- (implies- (and- (fact ltx-gen-once self)- (p "ltx-gen" z1 2)- (p "ltx-gen" "self" z1 self)- (p "ltx-gen" z2 2)- (p "ltx-gen" "self" z2 self))- (= z1 z2))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))- -----(defgoal dhcr-um3- (forall- ((na nb data) (a b name) (l l-peer x rndx)- (eta expt) (z strd))- (implies- (and- (p "init" z 4)- (p "init" "na" z na)- (p "init" "nb" z nb) - (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "l" z l)- (p "init" "x" z x)- (p "init" "beta" z l-peer) - (p "init" "eta" z eta)- - (non (privk "sig" b))- (ugen x)- (uniq-at na z 2)- (fact neq a b)- ;; skip the ltx-gen-once assumption - ;; (fact ltx-gen-once a)- (fact undisclosed l-peer))- ;; and still get the authentication we need - (exists- ((z-1 strd) (y rndx) (w expt))- (and- (p "resp" z-1 4) - (p "resp" "na" z-1 na)- (p "resp" "nb" z-1 nb) (p "resp" "a" z-1 a)- (p "resp" "b" z-1 b) - (prec z 2 z-1 2))))))--(defgoal dhcr-um3- (forall- ((z zl strd) (na nb data) (a b name) (l x rndx)- (eta beta expt))- (implies- (and- (p "init" z 4)- (p "init" "na" z na)- (p "init" "nb" z nb) - (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "l" z l)- (p "init" "x" z x)- (p "init" "beta" z beta) - (p "init" "eta" z eta)- (non (privk "sig" b))- (ugen x)- (uniq-at na z 2)- (fact neq a b)- ;; skip the ltx-gen-once assumption - ;; (fact ltx-gen-once a)- (fact undisclosed beta)- ;; and still get the secrecy we need- (p "" zl 2)- (p "" "x" zl - (kcfa l (exp (gen) beta)- x (exp (gen) eta))))- (false))))--(comment-;;; comment this out for brevity in the tst suite run.-;;; Be sure to test it periodically, though. -- (defgoal dhcr-um3- (forall- ((na nb data) (a b self self-0 name)- (ltxa ltxb x rndx)- (y expt) (z z-0 z-1 z-2 strd))- (implies- (and (p "init" z 5)- (p "" z-0 2)- (p "ltx-disclose" z-1 3)- (p "ltx-disclose" z-2 3)-- (p "init" "na" z na)- (p "init" "nb" z nb)- (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "l" z ltxa)- (p "init" "x" z x)- (p "init" "beta" z ltxb)- (p "init" "eta" z y)- - (p "" "x" z-0- (hash (exp (gen) (mul ltxa ltxb))- (exp (gen) (mul x y))))- - (p "ltx-disclose" "self" z-1 self)- (p "ltx-disclose" "l" z-1 ltxa)- (p "ltx-disclose" "self" z-2 self-0)- (p "ltx-disclose" "l" z-2 ltxb)- (ugen x)- (uniq-at na z 2)- (prec z 4 z-1 0)- (prec z 4 z-2 0))- (false))))-- (defgoal dhcr-um3- (forall- ((na nb data) (a b self self-0 name)- (ltxa ltxb y rndx)- (chi expt) (z z-0 z-1 z-2 strd))- (implies- (and- (p "resp" z 6)- (p "" z-0 2)- (p "ltx-disclose" z-1 3) - (p "ltx-disclose" z-2 3)- - (p "resp" "na" z na)- (p "resp" "nb" z nb)- (p "resp" "a" z a)- (p "resp" "b" z b)- (p "resp" "l" z ltxa)- (p "resp" "y" z y)- (p "resp" "alpha" z ltxb)- (p "resp" "chi" z chi)- - (p "" "x" z-0- (hash (exp (gen) (mul ltxa y))- (exp (gen) (mul ltxb chi))- (exp (gen) (mul y chi))))-- (p "ltx-disclose" "self" z-1 self)- (p "ltx-disclose" "l" z-1 ltxa)- (p "ltx-disclose" "self" z-2 self-0)- (p "ltx-disclose" "l" z-2 ltxb)-- (prec z 5 z-1 0) (prec z 5 z-2 0)- (ugen y) (uniq-at nb z 3)- (fact neq a b))- (false)))))
− tst/dhcr_um3_goals.tst
@@ -1,28448 +0,0 @@-(herald "DHCR: unified model (UM) three-component version" (bound 30)- (limit 8000) (algebra diffie-hellman))--(comment "CPSA 4.4.5")-(comment "All input read from tst/dhcr_um3_goals.scm")-(comment "Step count limited to 8000")-(comment "Strand count bounded at 30")--(defprotocol dhcr-um3 diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data)- (priv-stor locn))- (trace (load priv-stor (pv a l))- (recv- (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))) (send nb))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x beta))- (facts (neq a b))- (gen-st (pv a l)))- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data)- (priv-stor locn))- (trace (load priv-stor (pv b l))- (recv- (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y alpha)) (exp (gen) (mul l chi))- (exp (gen) (mul y chi)))))) (recv nb) (send "done"))- (uniq-orig nb)- (uniq-gen y)- (absent (y l) (y alpha) (y chi))- (facts (neq a b))- (gen-st (pv b l)))- (defrole ltx-gen- (vars (self name) (l rndx) (priv-stor locn) (ignore mesg))- (trace (load priv-stor ignore) (stor priv-stor (pv self l))- (send- (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))- (defrole ltx-disclose- (vars (self name) (l rndx) (priv-stor locn))- (trace (load priv-stor (pv self l)) (stor priv-stor "nil") (send l))- (gen-st (pv self l)))- (defrule undisclosed-not-disclosed- (forall ((z strd) (l rndx))- (implies- (and (fact undisclosed l) (p "ltx-disclose" z (idx 2))- (p "ltx-disclose" "l" z l))- (false))))- (defrule ltx-gen-once-inference- (forall ((z1 z2 strd) (self name))- (implies- (and (fact ltx-gen-once self) (p "ltx-gen" z1 (idx 2))- (p "ltx-gen" "self" z1 self) (p "ltx-gen" z2 (idx 2))- (p "ltx-gen" "self" z2 self))- (= z1 z2))))- (defrule eq-means-=- (forall ((v1 v2 mesg)) (implies (fact eq v1 v2) (= 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 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_ltx-gen-at-1- (forall ((z strd))- (implies (p "ltx-gen" z (idx 2)) (trans z (idx 1)))))- (defgenrule trRl_ltx-gen-at-0- (forall ((z strd))- (implies (p "ltx-gen" z (idx 2)) (trans z (idx 0)))))- (defgenrule trRl_ltx-disclose-at-1- (forall ((z strd))- (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 1)))))- (defgenrule trRl_ltx-disclose-at-0- (forall ((z strd))- (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 0)))))- (defgenrule gen-st-init-0- (forall ((z strd) (a name) (l rndx))- (implies- (and (p "init" z (idx 1)) (p "init" "l" z l) (p "init" "a" z a))- (gen-st (pv a l)))))- (defgenrule gen-st-resp-0- (forall ((z strd) (b name) (l rndx))- (implies- (and (p "resp" z (idx 1)) (p "resp" "l" z l) (p "resp" "b" z b))- (gen-st (pv b l)))))- (defgenrule gen-st-ltx-disclose-0- (forall ((z strd) (self name) (l rndx))- (implies- (and (p "ltx-disclose" z (idx 1)) (p "ltx-disclose" "l" z l)- (p "ltx-disclose" "self" z self)) (gen-st (pv self l)))))- (lang (sig sign) (body (tuple 3)) (pv (tuple 2))))--(defskeleton dhcr-um3- (vars (na nb data) (a b name) (pt pval) (priv-stor locn)- (l l-peer x rndx) (eta expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-peer) (eta eta))- (non-orig (privk "sig" b))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x l-peer))- (facts (neq a b) (undisclosed l-peer))- (goals- (forall- ((na nb data) (a b name) (l l-peer x rndx) (eta expt) (z strd))- (implies- (and (p "init" z 4) (p "init" "na" z na) (p "init" "nb" z nb)- (p "init" "a" z a) (p "init" "b" z b) (p "init" "l" z l)- (p "init" "x" z x) (p "init" "beta" z l-peer)- (p "init" "eta" z eta) (non (privk "sig" b)) (ugen x)- (uniq-at na z 2) (fact neq a b) (fact undisclosed l-peer))- (exists ((z-1 strd) (y rndx) (w expt))- (and (p "resp" z-1 4) (p "resp" "na" z-1 na)- (p "resp" "nb" z-1 nb) (p "resp" "a" z-1 a)- (p "resp" "b" z-1 b) (prec z 2 z-1 2))))))- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-peer) (pubk "sig" b))- (privk "sig" b))) (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul l-peer x))- (exp (gen) (mul x eta))))))))- (label 0)- (unrealized (0 1))- (origs (na (0 2)))- (ugens (x (0 2)))- (comment "Not closed under rules"))--(defskeleton dhcr-um3- (vars (na nb data) (a b name) (pt pval) (priv-stor locn)- (l l-peer x rndx) (eta expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-peer) (eta eta))- (non-orig (privk "sig" b))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x l-peer))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-peer))- (rule fact-resp-neq0 gen-st-ltx-disclose-0)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-peer) (pubk "sig" b))- (privk "sig" b))) (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul l-peer x))- (exp (gen) (mul x eta))))))))- (label 1)- (parent 0)- (unrealized (0 0) (0 1))- (origs (na (0 2)))- (ugens (x (0 2)))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore mesg) (na nb data) (a b name) (pt pt-0 pval)- (priv-stor locn) (l-peer x rndx) (eta expt) (l rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-peer) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (precedes ((1 1) (0 0)))- (non-orig (privk "sig" b))- (uniq-orig na l)- (uniq-gen x)- (absent (x l-peer) (x l))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-peer))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor (cat pt (pv a l))) (0 0))- (strand-map 0)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-peer) (pubk "sig" b))- (privk "sig" b))) (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul l-peer x))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l)))))- (label 2)- (parent 1)- (unrealized (0 1) (0 3))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (precedes ((1 1) (0 0)) ((2 2) (0 1)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test (added-strand ltx-gen 3)- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)) (0 1))- (strand-map 0 1)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))))- (label 3)- (parent 2)- (unrealized (0 3))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 3) (0 3)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 gen-st-ltx-disclose-0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation encryption-test (added-strand resp 4)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))) (0 3))- (strand-map 0 1 2)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))))))- (label 4)- (parent 3)- (unrealized (0 3) (3 0) (3 1) (3 2))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (precedes ((0 2) (3 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))) (0 3))- (strand-map 0 1 2)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))))- (label 5)- (parent 3)- (unrealized (3 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 4 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))) (3 0))- (strand-map 0 1 2 3)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))))))- (label 6)- (parent 4)- (unrealized (3 1))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 3) (0 3))- ((4 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))) (3 0))- (strand-map 0 1 2 3)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1)))))- (label 7)- (parent 4)- (unrealized (0 3) (3 1) (3 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (deflistener- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))) (3 0))- (strand-map 0 1 2 3)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((recv- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))))- (label 8)- (parent 5)- (unrealized (4 0))- (comment "8 in cohort - 8 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((0 2) (2 2)) ((1 1) (2 0)) ((1 2) (0 1)) ((2 3) (0 3))- ((3 1) (0 0)) ((3 2) (2 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((1 1) (2 0)) ((3 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 1 4 ltx-gen 3) (exp (gen) l-0) (3 1))- (strand-map 0 3 1 2)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 9)- (parent 6)- (realized)- (shape)- (satisfies yes)- (maps- ((0)- ((na na) (nb nb) (a self) (b b) (l l-0) (l-peer l) (x x) (eta y)- (priv-stor priv-stor-0))))- (origs (l-0 (3 1)) (pt-2 (3 1)) (l (1 1)) (pt-0 (1 1)) (nb (2 3))- (na (0 2)))- (ugens (y (2 3)) (x (0 2))))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx) (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) (mul l (rec w))) w))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec w))) w)) (exp (gen) l)- (3 1))- (strand-map 0 1 2 3)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) (mul l (rec w))) w))- (send (cat (exp (gen) (mul l (rec w))) w))))- (label 10)- (parent 6)- (unrealized (4 0))- (comment "7 in cohort - 7 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 3) (0 3))- ((4 1) (3 0)) ((4 1) (5 0)) ((5 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l l-0)) l-1))- (exp (gen) (mul l l-0 (rec l-1))) (3 1))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1))))- (label 11)- (parent 7)- (unrealized (0 3) (3 2) (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec l-1))) l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((5 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec l-1))) l-0))- (exp (gen) (mul l l-0 (rec l-1))) (3 1))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l (rec l-1))) l-0))- (send (cat (exp (gen) (mul l (rec l-1))) l-0))))- (label 12)- (parent 7)- (unrealized (0 3) (3 2) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((5 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (exp (gen) (mul l l-0 (rec l-1))) (3 1))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l))))- (label 13)- (parent 7)- (unrealized (0 3) (3 2) (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)- (alpha chi expt) (l-1 y rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 3) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-1)- (uniq-gen x y)- (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))- (gen-st (pv a l-1) (pv b-0 l-0))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul l-0 chi))- (exp (gen) (mul chi y))))))))- (label 14)- (parent 8)- (unrealized (0 3) (4 0) (5 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)- (l-1 x-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-1)- (uniq-gen x x-0)- (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))- (gen-st (pv a l-1) (pv a-0 l-0))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 15)- (parent 8)- (unrealized (0 3) (4 0) (5 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (rec l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (eta (rec l-0)) (l-1 l-0)) (gen)- (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (rec l-0))- (enc na nb a b- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (cat (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0)))))))- (label 16)- (parent 8)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 5 0 init 3) (exp (gen) x-0) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x))- (enc na nb a b- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))))- (label 17)- (parent 8)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 5 2 ltx-gen 3) (exp (gen) l-1) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) l-0))- (enc na nb a b- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))))- (label 18)- (parent 8)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((0 2) (3 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))- ((4 1) (0 0)) ((4 2) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((4 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 1 5 ltx-gen 3) (exp (gen) l-1) (4 0))- (strand-map 0 4 1 2 3)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (gen)- (enc na nb self b- (hash (exp (gen) l-0) (exp (gen) (mul x l))- (exp (gen) x))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 19)- (parent 8)- (unrealized (3 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (deflistener- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((recv- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 20)- (parent 8)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx) (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (deflistener- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (deflistener (cat (exp (gen) (mul eta l (rec w))) w))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul eta l (rec w))) w))- (exp (gen) (mul eta l)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((recv- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((recv (cat (exp (gen) (mul eta l (rec w))) w))- (send (cat (exp (gen) (mul eta l (rec w))) w))))- (label 21)- (parent 8)- (unrealized (4 0) (5 0))- (comment "7 in cohort - 7 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (beta expt) (l-1 x-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-1) (chi x))- (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-1)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-1) (x l) (x l-1) (x-0 l-0) (x-0 beta))- (precur (4 0))- (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 22)- (parent 10)- (unrealized (3 1) (4 0) (5 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) x) (mul l (rec x))))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y l) (y l-0) (y x) (x l) (x l-0))- (precur (4 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 5 0 init 3) (exp (gen) x-0) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x) (mul l (rec x))))- (send (cat (exp (gen) x) (mul l (rec x))))))- (label 23)- (parent 10)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (4 0)) ((2 1) (3 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (l-1 l-0) (w l-0)) (gen) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0))))- (label 24)- (parent 10)- (unrealized (4 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((0 2) (2 2)) ((1 1) (2 0)) ((1 2) (0 1)) ((2 3) (0 3))- ((3 1) (2 1)) ((4 1) (0 0)) ((4 2) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (3 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((1 1) (2 0)) ((4 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 1 5 ltx-gen 3) (exp (gen) l-1) (4 0))- (strand-map 0 4 1 2 3)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 25)- (parent 10)- (seen 9)- (seen-ops- (9 (operation generalization deleted (3 0)) (strand-map 0 1 2 4)))- (realized)- (comment "1 in cohort - 0 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (alpha chi expt) (l-1 y-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-1) (chi x))- (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 3) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-1)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-1) (x l) (x l-1) (y-0 l-0) (y-0 alpha)- (y-0 chi))- (precur (4 0))- (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul l-0 chi))- (exp (gen) (mul chi y-0))))))))- (label 26)- (parent 10)- (unrealized (3 1) (4 0) (5 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) l-0) (mul l (rec l-0))))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((2 2) (4 0)) ((3 3) (0 3)) ((4 1) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 5 2 ltx-gen 3) (exp (gen) l-1) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (mul l (rec l-0))))- (send (cat (exp (gen) l-0) (mul l (rec l-0))))))- (label 27)- (parent 10)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 28)- (parent 10)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 3) (0 3))- ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (5 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1)))- (label 29)- (parent 11)- (unrealized (0 3) (3 2) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l (rec l-0))) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((5 1) (3 1)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (5 0)- (ch-msg priv-stor (cat pt (pv a l-1))))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l (rec l-0))) l-1))- (send (cat (exp (gen) (mul l (rec l-0))) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1)))- (label 30)- (parent 13)- (unrealized (0 3) (3 2) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 1 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0)))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 31)- (parent 14)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 32)- (parent 14)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 y l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))- (label 33)- (parent 14)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 1 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 34)- (parent 15)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 35)- (parent 15)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))- (label 36)- (parent 15)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (rec l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (rec l-0))- (enc na nb a b- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (cat (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 37)- (parent 16)- (unrealized (0 3) (4 0) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (rec l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (rec l-0))- (enc na nb a b- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (cat (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 38)- (parent 16)- (unrealized (4 0) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul l-0 x)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x))- (enc na nb a b- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 39)- (parent 17)- (unrealized (4 0) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul l-0 x)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x))- (enc na nb a b- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 40)- (parent 17)- (unrealized (0 3) (4 0) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) l-0))- (enc na nb a b- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 41)- (parent 18)- (unrealized (0 3) (4 0) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) l-0))- (enc na nb a b- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 42)- (parent 18)- (unrealized (4 0) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (5 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))- ((4 1) (0 0)) ((4 2) (3 0)) ((5 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((4 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (3 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (gen)- (enc na nb self b- (hash (exp (gen) l-0) (exp (gen) (mul x l))- (exp (gen) x))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 43)- (parent 19)- (unrealized (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (5 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))- ((4 1) (0 0)) ((4 2) (3 0)) ((5 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((4 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (3 0))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (gen)- (enc na nb self b- (hash (exp (gen) l-0) (exp (gen) (mul x l))- (exp (gen) x))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 44)- (parent 19)- (unrealized (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (deflistener- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((recv- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 45)- (parent 20)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (deflistener- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((recv- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 46)- (parent 20)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)- (l-1 rndx) (w expt) (x-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-1)- (uniq-gen x x-0)- (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))- (precur (5 0))- (gen-st (pv a l-1) (pv a-0 l-0))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 47)- (parent 21)- (unrealized (0 3) (4 0) (6 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)- (l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener (cat (exp (gen) x) w))- (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 6 0 init 3) (exp (gen) x-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w (rec l) x))- (enc na nb a b- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))- (label 48)- (parent 21)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)- (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener (cat (gen) w))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (contracted (eta (mul (rec l-0) w)) (l-1 l-0) (w-0 w)) (gen) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w))- (enc na nb a b- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv (cat (gen) w)) (send (cat (gen) w))))- (label 49)- (parent 21)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener (cat (exp (gen) l-0) w))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((0 2) (3 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))- ((4 1) (3 0)) ((5 1) (0 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (4 0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((5 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 1 6 ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 5 1 2 3 4)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) w)- (enc na nb self b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 50)- (parent 21)- (unrealized (3 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)- (alpha chi expt) (l-1 rndx) (w expt) (y rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-1)- (uniq-gen x y)- (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))- (precur (5 0))- (gen-st (pv a l-1) (pv b-0 l-0))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul l-0 chi))- (exp (gen) (mul chi y))))))))- (label 51)- (parent 21)- (unrealized (0 3) (4 0) (6 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener (cat (exp (gen) l-0) w))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((2 2) (5 0))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 6 2 ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w l-0))- (enc na nb a b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w))))- (label 52)- (parent 21)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)- (l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener (cat (exp (gen) l-1) w))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w l-1))- (enc na nb a b- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 53)- (parent 21)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x l rndx)- (beta expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-0)))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 1) (3 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (4 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)) ((2 1) (3 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 1 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-0)))- (send (cat (exp (gen) x-0) (mul (rec x-0) l-0))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 54)- (parent 22)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x rndx)- (beta expt) (l x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) x-0) (mul l (rec x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 1) (5 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (4 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul l (rec x-0))))- (send (cat (exp (gen) x-0) (mul l (rec x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 55)- (parent 22)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (4 0))- (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))- (label 56)- (parent 22)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 1) (3 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-0 (4 0)- (ch-msg priv-stor (cat pt (pv a l-0))))- (strand-map 0 1 2 3 4)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-3 "nil")) (send l-0)))- (label 57)- (parent 24)- (realized)- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x l rndx)- (alpha chi expt) (y-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-0)))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 1) (3 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 1)) ((5 3) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (y-0 alpha) (y-0 chi)- (y-0 l-0))- (precur (4 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)) ((2 1) (3 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 1 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-0)))- (send (cat (exp (gen) y-0) (mul (rec y-0) l-0))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y-0))))))))- (label 58)- (parent 26)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x rndx)- (alpha chi expt) (l y-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) y-0) (mul l (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 1) (5 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 1)) ((5 3) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (y-0 alpha) (y-0 chi)- (y-0 l-0))- (precur (4 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 6 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul l (rec y-0))))- (send (cat (exp (gen) y-0) (mul l (rec y-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y-0))))))))- (label 59)- (parent 26)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (3 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 3) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (y-0 alpha) (y-0 chi)- (y-0 l-1))- (precur (4 0))- (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((2 1) (3 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))- (label 60)- (parent 26)- (unrealized (3 1) (4 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 1) (7 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) l-0))- (exp (gen) (mul l l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0))))- (label 61)- (parent 29)- (unrealized (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (7 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) l))- (exp (gen) (mul l l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l))))- (label 62)- (parent 29)- (unrealized (0 3) (3 2) (7 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l (rec l-0))) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) l) l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (7 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) l-0))- (exp (gen) (mul l (rec l-0))) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l (rec l-0))) l-1))- (send (cat (exp (gen) (mul l (rec l-0))) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0))))- (label 63)- (parent 30)- (unrealized (0 3) (3 2) (7 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l (rec l-0))) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) (rec l-0)) l))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 1) (7 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) (rec l-0)) l))- (exp (gen) (mul l (rec l-0))) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l (rec l-0))) l-1))- (send (cat (exp (gen) (mul l (rec l-0))) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) (rec l-0)) l))- (send (cat (exp (gen) (rec l-0)) l))))- (label 64)- (parent 30)- (unrealized (0 3) (3 2) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0)))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 65)- (parent 31)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0)))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 66)- (parent 31)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 67)- (parent 32)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 68)- (parent 32)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 y l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 69)- (parent 33)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 y l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 70)- (parent 33)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 71)- (parent 34)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 72)- (parent 34)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 73)- (parent 35)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 74)- (parent 35)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 75)- (parent 36)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((6 1) (5 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 76)- (parent 36)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta w expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 1 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 77)- (parent 47)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 78)- (parent 47)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 rndx) (w expt) (x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))- (label 79)- (parent 47)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)- (l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener (cat (exp (gen) x) w))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (5 0)) ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul l-0 x)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w (rec l) x))- (enc na nb a b- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 80)- (parent 48)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)- (l l-0 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener (cat (exp (gen) x) w))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (5 0)) ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul l-0 x)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w (rec l) x))- (enc na nb a b- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 81)- (parent 48)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)- (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener (cat (gen) w))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w))- (enc na nb a b- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv (cat (gen) w)) (send (cat (gen) w)))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 82)- (parent 49)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)- (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener (cat (gen) w))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w))- (enc na nb a b- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv (cat (gen) w)) (send (cat (gen) w)))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 83)- (parent 49)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener (cat (exp (gen) l-0) w))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (6 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))- ((4 1) (3 0)) ((5 1) (0 0)) ((5 2) (4 0)) ((6 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (4 0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((5 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (3 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) w)- (enc na nb self b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 84)- (parent 50)- (unrealized (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener (cat (exp (gen) l-0) w))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (6 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))- ((4 1) (3 0)) ((5 1) (0 0)) ((5 2) (4 0)) ((6 1) (3 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (4 0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((5 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (3 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) w)- (enc na nb self b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 85)- (parent 50)- (unrealized (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi w expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 1 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w y (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 86)- (parent 51)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 87)- (parent 51)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 rndx) (w expt) (y l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)) ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))- (label 88)- (parent 51)- (unrealized (0 3) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener (cat (exp (gen) l-0) w))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((2 2) (5 0))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w l-0))- (enc na nb a b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 89)- (parent 52)- (unrealized (0 3) (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener (cat (exp (gen) l-0) w))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((2 2) (5 0))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w l-0))- (enc na nb a b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 90)- (parent 52)- (unrealized (4 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)- (l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener (cat (exp (gen) l-1) w))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w l-1))- (enc na nb a b- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 91)- (parent 53)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)- (l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener (cat (exp (gen) l-1) w))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w l-1))- (enc na nb a b- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 92)- (parent 53)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (4 0)) ((2 1) (3 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 2) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (4 0)) ((2 1) (3 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation generalization deleted (4 0))- (strand-map 0 1 2 3 5)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-3 "nil")) (send l-0)))- (label 93)- (parent 57)- (realized)- (shape)- (satisfies yes)- (maps- ((0)- ((na na) (nb nb) (a a) (b b) (l l-0) (l-peer l) (x x) (eta y)- (priv-stor priv-stor))))- (origs (pt-3 (4 1)) (l (2 1)) (pt-2 (2 1)) (nb (3 3)) (l-0 (1 1))- (pt (1 1)) (na (0 2)))- (ugens (y (3 3)) (x (0 2))))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l l-1)) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (7 0)- (ch-msg priv-stor (cat pt (pv a l-1))))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l l-1)) l-0))- (send (cat (exp (gen) (mul l l-1)) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1)))- (label 94)- (parent 62)- (unrealized (0 3) (3 2) (7 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec l-1))) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l-0) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (7 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l (rec l-1))) l-0))- (send (cat (exp (gen) (mul l (rec l-1))) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1)))- (label 95)- (parent 63)- (unrealized (0 3) (3 2) (7 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta w expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 96)- (parent 77)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta w expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 97)- (parent 77)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 98)- (parent 78)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 99)- (parent 78)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 rndx) (w expt) (x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (6 0))- ((8 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 100)- (parent 79)- (unrealized (0 3) (4 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 rndx) (w expt) (x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (6 0))- ((8 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 101)- (parent 79)- (unrealized (4 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi w expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w y (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 102)- (parent 86)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi w expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (5 0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w y (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 103)- (parent 86)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 104)- (parent 87)- (unrealized (0 3) (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))- ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 105)- (parent 87)- (unrealized (4 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 rndx) (w expt) (y l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)) ((7 1) (6 0))- ((8 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 106)- (parent 88)- (unrealized (0 3) (4 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 rndx) (w expt) (y l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)) ((7 1) (6 0))- ((8 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((1 1) (0 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 107)- (parent 88)- (unrealized (4 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 9 2 ltx-gen 3) (exp (gen) l-1) (7 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0)))- (label 108)- (parent 94)- (unrealized (0 3) (3 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx)- (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l l-1)) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec w))) w))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec w))) w)) (exp (gen) l)- (7 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l l-1)) l-0))- (send (cat (exp (gen) (mul l l-1)) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul l (rec w))) w))- (send (cat (exp (gen) (mul l (rec w))) w))))- (label 109)- (parent 94)- (unrealized (0 3) (3 2) (9 0))- (comment "8 in cohort - 8 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 9 2 ltx-gen 3) (exp (gen) l-1) (7 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0)))- (label 110)- (parent 95)- (unrealized (0 3) (3 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx)- (w expt))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec l-1))) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec w))) w))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l-0) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec w))) w)) (exp (gen) l)- (7 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l (rec l-1))) l-0))- (send (cat (exp (gen) (mul l (rec l-1))) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul l (rec w))) w))- (send (cat (exp (gen) (mul l (rec w))) w))))- (label 111)- (parent 95)- (unrealized (0 3) (3 2) (9 0))- (comment "8 in cohort - 8 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) (mul x (rec l))) l-1))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l))) l-1))- (exp (gen) (mul x (rec l) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x (rec l))) l-1))- (send (cat (exp (gen) (mul x (rec l))) l-1))))- (label 112)- (parent 108)- (unrealized (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) (mul x l-1)) l))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((4 1) (9 0)) ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) (mul x l-1)) l))- (exp (gen) (mul x (rec l) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x l-1)) l))- (send (cat (exp (gen) (mul x l-1)) l))))- (label 113)- (parent 108)- (seen 134)- (seen-ops- (134- (operation nonce-test (added-strand ltx-disclose 3) l-1 (9 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9)))- (unrealized (0 3) (9 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l) l-1)) x))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l) l-1)) x))- (exp (gen) (mul x (rec l) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul (rec l) l-1)) x))- (send (cat (exp (gen) (mul (rec l) l-1)) x))))- (label 114)- (parent 108)- (unrealized (0 3) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (alpha chi expt) (l-2 y-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-2) (eta (mul y (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-2)) (chi (mul x (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-2)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-2)) (y (mul (rec l) l-0 l-2)) (y l)- (x l-0) (x l-2) (y-0 l-1) (y-0 alpha) (y-0 chi))- (precur (9 0))- (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-2))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-2)) l))- (send (cat (exp (gen) (mul l-0 l-2)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-2 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul l-1 chi))- (exp (gen) (mul chi y-0))))))))- (label 115)- (parent 109)- (unrealized (0 3) (3 2) (7 0) (9 0) (10 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (beta expt) (l-2 x-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-2) (eta (mul y (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-2)) (chi (mul x (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-2)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-2)) (y (mul (rec l) l-0 l-2)) (y l)- (x l-0) (x l-2) (x-0 l-1) (x-0 beta))- (precur (9 0))- (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-2))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-2)) l))- (send (cat (exp (gen) (mul l-0 l-2)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-2 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 116)- (parent 109)- (unrealized (0 3) (3 2) (7 0) (9 0) (10 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (gen) l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 1) (9 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (l-2 l-1) (w l-1)) (gen) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (gen) l-1)) (send (cat (gen) l-1))))- (label 117)- (parent 109)- (unrealized (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y l l-0 l-1 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul (rec l) l-1 x)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x) (mul l-1 (rec x))))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul (rec l) l-0 l-1)) (y (mul (rec l) l-1 x)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 0 init 3) (exp (gen) x-0) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul (rec l) l-1 x))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x) (mul l-1 (rec x))))- (send (cat (exp (gen) x) (mul l-1 (rec x))))))- (label 118)- (parent 109)- (unrealized (0 3) (3 2) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 2 ltx-gen 3) (exp (gen) l-2)- (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one)))))- (label 119)- (parent 109)- (unrealized (0 3) (3 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-1) (l l-1) (x x) (beta l-0)- (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l-0))- (defstrand resp 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l) (y y) (alpha (mul (rec l) l-0 l-1))- (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (2 2)) ((1 2) (0 1)) ((2 3) (0 3)) ((3 1) (2 0))- ((3 1) (5 0)) ((4 1) (2 1)) ((5 2) (4 0)) ((6 1) (4 0))- ((7 2) (6 0)) ((8 1) (6 0)) ((9 1) (0 0)) ((9 1) (7 0))- ((9 2) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (8 0))- (gen-st (pv b l) (pv self l-1))- (facts (neq b self) (neq self b) (undisclosed l-0))- (leads-to ((3 1) (2 0)) ((3 1) (5 0)) ((9 1) (0 0)) ((9 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 1 10 ltx-gen 3) (exp (gen) l-2)- (9 0))- (strand-map 0 9 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (recv- (sig- (body self (exp (gen) (mul (rec l) l-0 l-1))- (pubk "sig" self)) (privk "sig" self)))- (recv (cat na self b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-0 (cat pt-2 ignore-0))- (stor priv-stor-0 (cat pt-1 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-4 "nil")) (send l-1))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 120)- (parent 109)- (unrealized (0 3) (2 2) (6 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b self) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b self)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (7 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)) ((6 1) (4 0))- ((7 2) (6 0)) ((8 1) (6 0)) ((9 1) (3 0)) ((9 1) (5 0))- ((9 2) (8 0)))- (non-orig (privk "sig" self))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (8 0))- (gen-st (pv a l) (pv self l-1))- (facts (neq self a) (neq a self) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (7 0)) ((9 1) (3 0)) ((9 1) (5 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 4 10 ltx-gen 3) (exp (gen) l-2)- (9 0))- (strand-map 0 1 2 3 9 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (send (cat na a self (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a self (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-3 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-4 "nil")) (send l))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 121)- (parent 109)- (unrealized (0 3) (3 2) (6 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb data)- (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 l-2 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (defstrand ltx-gen 3 (ignore ignore-2) (self self)- (priv-stor priv-stor-2) (l l-2))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1 l-2)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-2) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (send (cat (exp (gen) l-2) (mul l-1 (rec l-2)))))- ((load priv-stor-2 (cat pt-7 ignore-2))- (stor priv-stor-2 (cat pt-8 (pv self l-2)))- (send- (sig (body self (exp (gen) l-2) (pubk "sig" self))- (privk "sig" self)))))- (label 122)- (parent 109)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul x (rec l-0))) l-1))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l-0))) l-1))- (exp (gen) (mul x (rec l-0) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x (rec l-0))) l-1))- (send (cat (exp (gen) (mul x (rec l-0))) l-1))))- (label 123)- (parent 110)- (unrealized (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul x l-1)) l-0))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((4 1) (9 0)) ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x l-1)) l-0))- (exp (gen) (mul x (rec l-0) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x l-1)) l-0))- (send (cat (exp (gen) (mul x l-1)) l-0))))- (label 124)- (parent 110)- (seen 146)- (seen-ops- (146- (operation nonce-test (added-strand ltx-disclose 3) l-1 (9 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9)))- (unrealized (0 3) (9 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (exp (gen) (mul x (rec l-0) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) x))- (send (cat (exp (gen) (mul (rec l-0) l-1)) x))))- (label 125)- (parent 110)- (unrealized (0 3) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (alpha chi expt) (l-2 y-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-2) (eta (mul y (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-2))- (chi (mul x (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-2)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l-0) l-2)) (y (mul l (rec l-0) l-2)) (y l-0)- (x l) (x l-2) (y-0 l-1) (y-0 alpha) (y-0 chi))- (precur (9 0))- (gen-st (pv a l) (pv b l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-2))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-2)) l))- (send (cat (exp (gen) (mul (rec l-0) l-2)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-2 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul l-1 chi))- (exp (gen) (mul chi y-0))))))))- (label 126)- (parent 111)- (unrealized (0 3) (3 2) (7 0) (9 0) (10 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (beta expt) (l-2 x-0 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-2) (eta (mul y (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-2))- (chi (mul x (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-2)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l-0) l-2)) (y (mul l (rec l-0) l-2)) (y l-0)- (x l) (x l-2) (x-0 l-1) (x-0 beta))- (precur (9 0))- (gen-st (pv a l) (pv b l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-2))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-2)) l))- (send (cat (exp (gen) (mul (rec l-0) l-2)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-2 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 127)- (parent 111)- (unrealized (0 3) (3 2) (7 0) (9 0) (10 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (gen) l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 1) (9 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (l-2 l-1) (w l-1)) (gen) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (gen) l-1)) (send (cat (gen) l-1))))- (label 128)- (parent 111)- (unrealized (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y l l-0 l-1 x rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul (rec l) l-1 x)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-1)) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) x) (mul l-1 (rec x))))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul (rec l) l-0 l-1)) (y (mul (rec l) l-1 x)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 0 init 3) (exp (gen) x-0) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul (rec l) l-1 x))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-1)) l-0))- (send (cat (exp (gen) (mul (rec l) l-1)) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) l)) (send (cat (exp (gen) l-1) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) x) (mul l-1 (rec x))))- (send (cat (exp (gen) x) (mul l-1 (rec x))))))- (label 129)- (parent 111)- (unrealized (0 3) (3 2) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 2 ltx-gen 3) (exp (gen) l-2)- (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one)))))- (label 130)- (parent 111)- (unrealized (0 3) (3 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-1) (l l-1) (x x) (beta l-0)- (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l-0))- (defstrand resp 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l) (y y) (alpha (mul (rec l) l-0 l-1))- (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-0)) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (2 2)) ((1 2) (0 1)) ((2 3) (0 3)) ((3 1) (2 0))- ((3 1) (7 0)) ((4 1) (2 1)) ((5 2) (4 0)) ((6 1) (4 0))- ((7 2) (6 0)) ((8 1) (6 0)) ((9 1) (0 0)) ((9 1) (5 0))- ((9 2) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (8 0))- (gen-st (pv b l) (pv self l-1))- (facts (neq b self) (neq self b) (undisclosed l-0))- (leads-to ((3 1) (2 0)) ((3 1) (7 0)) ((9 1) (0 0)) ((9 1) (5 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 1 10 ltx-gen 3) (exp (gen) l-2)- (9 0))- (strand-map 0 9 1 2 3 4 5 6 7 8)- (traces- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (recv- (sig- (body self (exp (gen) (mul (rec l) l-0 l-1))- (pubk "sig" self)) (privk "sig" self)))- (recv (cat na self b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-0 (cat pt-2 ignore-0))- (stor priv-stor-0 (cat pt-1 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-0)) l-1))- (send (cat (exp (gen) (mul (rec l) l-0)) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-3 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (stor priv-stor-0 (cat pt-4 "nil")) (send l))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 131)- (parent 111)- (unrealized (0 3) (2 2) (6 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b self) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b self)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 1)) ((5 2) (4 0)) ((6 1) (4 0))- ((7 2) (6 0)) ((8 1) (6 0)) ((9 1) (3 0)) ((9 1) (7 0))- ((9 2) (8 0)))- (non-orig (privk "sig" self))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (8 0))- (gen-st (pv a l) (pv self l-1))- (facts (neq self a) (neq a self) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (5 0)) ((9 1) (3 0)) ((9 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 4 10 ltx-gen 3) (exp (gen) l-2)- (9 0))- (strand-map 0 1 2 3 9 4 5 6 7 8)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (send (cat na a self (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a self (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-3 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-4 "nil")) (send l-1))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 132)- (parent 111)- (unrealized (0 3) (3 2) (6 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb data)- (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 l-2 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (defstrand ltx-gen 3 (ignore ignore-2) (self self)- (priv-stor priv-stor-2) (l l-2))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1 l-2)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-2) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (send (cat (exp (gen) l-2) (mul l-1 (rec l-2)))))- ((load priv-stor-2 (cat pt-7 ignore-2))- (stor priv-stor-2 (cat pt-8 (pv self l-2)))- (send- (sig (body self (exp (gen) l-2) (pubk "sig" self))- (privk "sig" self)))))- (label 133)- (parent 111)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((6 2) (9 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 6 ltx-disclose 3) l-1 (9 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 134)- (parent 113)- (unrealized (0 3) (9 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (alpha chi expt) (y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((2 1) (10 0)) ((4 1) (3 0))- ((4 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (send (cat (exp (gen) y-0) (mul (rec y-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 135)- (parent 115)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((1 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (9 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((1 1) (10 0)) ((4 1) (3 0))- ((4 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 1 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 136)- (parent 115)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((4 1) (10 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0))- ((4 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 4 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 137)- (parent 115)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (alpha chi expt) (l-1 y-0 l-2 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-2) (y y-0) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-2) (self b-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 3) (9 0)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-2))- (precur (9 0))- (gen-st (pv a l-0) (pv b l) (pv b-0 l-2))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0))- ((11 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-2)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-2))- (exp (gen) (mul chi y-0)))))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv b-0 l-2)))))- (label 138)- (parent 115)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (beta expt) (x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((2 1) (10 0)) ((4 1) (3 0))- ((4 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (send (cat (exp (gen) x-0) (mul (rec x-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 139)- (parent 116)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((1 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-1))- (precur (9 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((1 1) (10 0)) ((4 1) (3 0))- ((4 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 1 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 140)- (parent 116)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((4 1) (10 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0))- ((4 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 4 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 141)- (parent 116)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (beta expt) (l-1 x-0 l-2 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-2) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-2) (self a-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 2) (9 0)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-2))- (precur (9 0))- (gen-st (pv a l-0) (pv b l) (pv a-0 l-2))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0))- ((11 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-2)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv a-0 l-2)))))- (label 142)- (parent 116)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x (rec l))) l-1))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l))) l-1))- (exp (gen) (mul x (rec l) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x (rec l))) l-1))- (send (cat (exp (gen) (mul x (rec l))) l-1))))- (label 143)- (parent 119)- (unrealized (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x l-1)) l))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((4 1) (10 0)) ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) (mul x l-1)) l))- (exp (gen) (mul x (rec l) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x l-1)) l))- (send (cat (exp (gen) (mul x l-1)) l))))- (label 144)- (parent 119)- (seen 160)- (seen-ops- (160- (operation nonce-test (added-strand ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)))- (unrealized (0 3) (10 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul (rec l) l-1)) x))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l) l-1)) x))- (exp (gen) (mul x (rec l) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul (rec l) l-1)) x))- (send (cat (exp (gen) (mul (rec l) l-1)) x))))- (label 145)- (parent 119)- (unrealized (0 3) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((0 2) (9 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((8 2) (9 0)) ((9 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 8 ltx-disclose 3) l-1 (9 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 146)- (parent 124)- (unrealized (0 3) (9 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (alpha chi expt) (y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((2 1) (10 0)) ((4 1) (3 0))- ((4 1) (8 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (send (cat (exp (gen) y-0) (mul (rec y-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 147)- (parent 126)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-0)) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((1 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (9 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((1 1) (10 0)) ((4 1) (3 0))- ((4 1) (8 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 1 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-0)) l-1))- (send (cat (exp (gen) (mul (rec l) l-0)) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 148)- (parent 126)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((4 1) (10 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 3) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0))- ((4 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 4 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 149)- (parent 126)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (alpha chi expt) (l-1 y-0 l-2 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-2) (y y-0) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-2) (self b-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 3) (9 0)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-2))- (precur (9 0))- (gen-st (pv a l) (pv b l-0) (pv b-0 l-2))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0))- ((11 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-2)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-2))- (exp (gen) (mul chi y-0)))))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv b-0 l-2)))))- (label 150)- (parent 126)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (beta expt) (x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (x-0 beta) (x-0 l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((2 1) (10 0)) ((4 1) (3 0))- ((4 1) (8 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (send (cat (exp (gen) x-0) (mul (rec x-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 151)- (parent 127)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-0)) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((1 1) (10 0))- ((2 2) (0 1)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-1))- (precur (9 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((1 1) (10 0)) ((4 1) (3 0))- ((4 1) (8 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 1 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-0)) l-1))- (send (cat (exp (gen) (mul (rec l) l-0)) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 152)- (parent 127)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((4 1) (10 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0))- ((4 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 11 4 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 153)- (parent 127)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (beta expt) (l-1 x-0 l-2 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-2) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-2) (self a-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1))- ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0))- ((10 2) (9 0)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (x-0 beta) (x-0 l-2))- (precur (9 0))- (gen-st (pv a l) (pv b l-0) (pv a-0 l-2))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0))- ((11 1) (10 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-2)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv a-0 l-2)))))- (label 154)- (parent 127)- (unrealized (0 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x (rec l-0))) l-1))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l-0))) l-1))- (exp (gen) (mul x (rec l-0) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x (rec l-0))) l-1))- (send (cat (exp (gen) (mul x (rec l-0))) l-1))))- (label 155)- (parent 130)- (unrealized (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x l-1)) l-0))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((4 1) (10 0)) ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x l-1)) l-0))- (exp (gen) (mul x (rec l-0) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x l-1)) l-0))- (send (cat (exp (gen) (mul x l-1)) l-0))))- (label 156)- (parent 130)- (seen 163)- (seen-ops- (163- (operation nonce-test (added-strand ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)))- (unrealized (0 3) (10 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (9 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (exp (gen) (mul x (rec l-0) l-1)) (3 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) x))- (send (cat (exp (gen) (mul (rec l-0) l-1)) x))))- (label 157)- (parent 130)- (unrealized (0 3) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((6 2) (9 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (3 2)) ((10 1) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 158)- (parent 134)- (unrealized (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((6 2) (9 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (3 2)) ((10 1) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 159)- (parent 134)- (unrealized (0 3) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((6 2) (10 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 6 ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 160)- (parent 144)- (unrealized (0 3) (10 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((8 2) (9 0)) ((9 1) (3 2)) ((10 1) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 161)- (parent 146)- (unrealized (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (7 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((8 2) (9 0)) ((9 1) (3 2)) ((10 1) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (9 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 162)- (parent 146)- (unrealized (0 3) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((0 2) (10 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((8 2) (10 0)) ((9 1) (7 0)) ((10 1) (3 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 8 ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 163)- (parent 156)- (unrealized (0 3) (10 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (11 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((6 2) (10 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (3 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 164)- (parent 160)- (unrealized (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (11 0)) ((1 1) (0 0)) ((1 1) (8 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (6 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((6 2) (10 0)) ((7 1) (5 0))- ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (3 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (8 0)) ((4 1) (3 0)) ((4 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 165)- (parent 160)- (unrealized (0 3) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((0 2) (11 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((8 2) (10 0)) ((9 1) (7 0)) ((10 1) (3 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 166)- (parent 163)- (unrealized (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((0 2) (11 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))- ((2 2) (9 0)) ((3 3) (0 3)) ((4 1) (3 0)) ((4 1) (8 0))- ((5 1) (3 1)) ((6 2) (5 0)) ((7 1) (5 0)) ((8 2) (7 0))- ((8 2) (10 0)) ((9 1) (7 0)) ((10 1) (3 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((1 1) (0 0)) ((1 1) (6 0)) ((4 1) (3 0)) ((4 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 167)- (parent 163)- (unrealized (0 3) (11 0))- (dead)- (comment "empty cohort"))--(comment "Nothing left to do")--(defprotocol dhcr-um3 diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data)- (priv-stor locn))- (trace (load priv-stor (pv a l))- (recv- (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))) (send nb))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x beta))- (facts (neq a b))- (gen-st (pv a l)))- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data)- (priv-stor locn))- (trace (load priv-stor (pv b l))- (recv- (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y alpha)) (exp (gen) (mul l chi))- (exp (gen) (mul y chi)))))) (recv nb) (send "done"))- (uniq-orig nb)- (uniq-gen y)- (absent (y l) (y alpha) (y chi))- (facts (neq a b))- (gen-st (pv b l)))- (defrole ltx-gen- (vars (self name) (l rndx) (priv-stor locn) (ignore mesg))- (trace (load priv-stor ignore) (stor priv-stor (pv self l))- (send- (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))- (defrole ltx-disclose- (vars (self name) (l rndx) (priv-stor locn))- (trace (load priv-stor (pv self l)) (stor priv-stor "nil") (send l))- (gen-st (pv self l)))- (defrule undisclosed-not-disclosed- (forall ((z strd) (l rndx))- (implies- (and (fact undisclosed l) (p "ltx-disclose" z (idx 2))- (p "ltx-disclose" "l" z l))- (false))))- (defrule ltx-gen-once-inference- (forall ((z1 z2 strd) (self name))- (implies- (and (fact ltx-gen-once self) (p "ltx-gen" z1 (idx 2))- (p "ltx-gen" "self" z1 self) (p "ltx-gen" z2 (idx 2))- (p "ltx-gen" "self" z2 self))- (= z1 z2))))- (defrule eq-means-=- (forall ((v1 v2 mesg)) (implies (fact eq v1 v2) (= 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 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_ltx-gen-at-1- (forall ((z strd))- (implies (p "ltx-gen" z (idx 2)) (trans z (idx 1)))))- (defgenrule trRl_ltx-gen-at-0- (forall ((z strd))- (implies (p "ltx-gen" z (idx 2)) (trans z (idx 0)))))- (defgenrule trRl_ltx-disclose-at-1- (forall ((z strd))- (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 1)))))- (defgenrule trRl_ltx-disclose-at-0- (forall ((z strd))- (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 0)))))- (defgenrule gen-st-init-0- (forall ((z strd) (a name) (l rndx))- (implies- (and (p "init" z (idx 1)) (p "init" "l" z l) (p "init" "a" z a))- (gen-st (pv a l)))))- (defgenrule gen-st-resp-0- (forall ((z strd) (b name) (l rndx))- (implies- (and (p "resp" z (idx 1)) (p "resp" "l" z l) (p "resp" "b" z b))- (gen-st (pv b l)))))- (defgenrule gen-st-ltx-disclose-0- (forall ((z strd) (self name) (l rndx))- (implies- (and (p "ltx-disclose" z (idx 1)) (p "ltx-disclose" "l" z l)- (p "ltx-disclose" "self" z self)) (gen-st (pv self l)))))- (lang (sig sign) (body (tuple 3)) (pv (tuple 2))))--(defskeleton dhcr-um3- (vars (na nb data) (a b name) (pt pval) (priv-stor locn) (l x rndx)- (eta beta expt))- (deflistener- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta beta) (eta eta))- (non-orig (privk "sig" b))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x beta))- (facts (neq a b) (undisclosed beta))- (goals- (forall- ((z zl strd) (na nb data) (a b name) (l x rndx) (eta beta expt))- (implies- (and (p "init" z 4) (p "init" "na" z na) (p "init" "nb" z nb)- (p "init" "a" z a) (p "init" "b" z b) (p "init" "l" z l)- (p "init" "x" z x) (p "init" "beta" z beta)- (p "init" "eta" z eta) (non (privk "sig" b)) (ugen x)- (uniq-at na z 2) (fact neq a b) (fact undisclosed beta)- (p "" zl 2)- (p "" "x" zl- (hash (exp (exp (gen) eta) l) (exp (exp (gen) beta) x)- (exp (exp (gen) eta) x)))) (false))))- (traces- ((recv- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))))))- (label 168)- (unrealized (0 0) (1 1))- (preskeleton)- (origs (na (1 2)))- (ugens (x (1 2)))- (comment "Not a skeleton"))--(defskeleton dhcr-um3- (vars (na nb data) (a b name) (pt pval) (priv-stor locn) (l x rndx)- (eta beta expt))- (deflistener- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta beta) (eta eta))- (precedes ((1 2) (0 0)))- (non-orig (privk "sig" b))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x beta))- (facts (neq a b) (undisclosed beta))- (traces- ((recv- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))))))- (label 169)- (parent 168)- (unrealized (1 1))- (origs (na (1 2)))- (ugens (x (1 2)))- (comment "Not closed under rules"))--(defskeleton dhcr-um3- (vars (na nb data) (a b name) (pt pval) (priv-stor locn) (l x rndx)- (eta beta expt))- (deflistener- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta beta) (eta eta))- (precedes ((1 2) (0 0)))- (non-orig (privk "sig" b))- (uniq-orig na)- (uniq-gen x)- (absent (x l) (x beta))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed beta))- (rule fact-resp-neq0 gen-st-ltx-disclose-0)- (traces- ((recv- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))))))- (label 170)- (parent 169)- (unrealized (1 0) (1 1))- (origs (na (1 2)))- (ugens (x (1 2)))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore mesg) (na nb data) (a b name) (pt pt-0 pval)- (priv-stor locn) (x rndx) (eta beta expt) (l rndx))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta beta) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (precedes ((1 2) (0 0)) ((2 1) (1 0)))- (non-orig (privk "sig" b))- (uniq-orig na l)- (uniq-gen x)- (absent (x beta) (x l))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed beta))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor (cat pt (pv a l))) (1 0))- (strand-map 0 1)- (traces- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l)))))- (label 171)- (parent 170)- (unrealized (0 0) (1 1) (1 3))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (0 0)) ((2 1) (1 0)) ((3 2) (1 1)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test (added-strand ltx-gen 3)- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)) (1 1))- (strand-map 0 1 2)- (traces- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))))- (label 172)- (parent 171)- (unrealized (0 0) (1 3))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))- ((4 3) (1 3)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 gen-st-ltx-disclose-0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation encryption-test (added-strand resp 4)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))) (1 3))- (strand-map 0 1 2 3)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))))))- (label 173)- (parent 172)- (unrealized (0 0) (1 3) (4 0) (4 1) (4 2))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (precedes ((1 2) (0 0)) ((1 2) (4 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))) (1 3))- (strand-map 0 1 2 3)- (traces- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))))- (label 174)- (parent 172)- (unrealized (0 0) (4 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 5 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((recv- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))))))- (label 175)- (parent 173)- (unrealized (0 0) (4 1))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))- ((4 3) (1 3)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1)))))- (label 176)- (parent 173)- (unrealized (0 0) (1 3) (4 1) (4 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (deflistener- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))) (4 0))- (strand-map 0 1 2 3 4)- (traces- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((recv- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))))- (label 177)- (parent 174)- (unrealized (0 0) (5 0))- (comment "8 in cohort - 8 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))- ((3 3) (1 3)) ((4 1) (1 0)) ((4 2) (3 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 2 5 ltx-gen 3) (exp (gen) l-0) (4 1))- (strand-map 0 1 4 2 3)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 178)- (parent 175)- (unrealized (0 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx) (w expt))- (deflistener- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) (mul l (rec w))) w))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec w))) w)) (exp (gen) l)- (4 1))- (strand-map 0 1 2 3 4)- (traces- ((recv- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) (mul l (rec w))) w))- (send (cat (exp (gen) (mul l (rec w))) w))))- (label 179)- (parent 175)- (unrealized (0 0) (5 0))- (comment "7 in cohort - 7 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))- ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l l-0)) l-1))- (exp (gen) (mul l l-0 (rec l-1))) (4 1))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1))))- (label 180)- (parent 176)- (unrealized (0 0) (1 3) (4 2) (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec l-1))) l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (6 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((6 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec l-1))) l-0))- (exp (gen) (mul l l-0 (rec l-1))) (4 1))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l (rec l-1))) l-0))- (send (cat (exp (gen) (mul l (rec l-1))) l-0))))- (label 181)- (parent 176)- (unrealized (0 0) (1 3) (4 2) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((6 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (exp (gen) (mul l l-0 (rec l-1))) (4 1))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l))))- (label 182)- (parent 176)- (unrealized (0 0) (1 3) (4 2) (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)- (alpha chi expt) (l-1 y rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-1)- (uniq-gen x y)- (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))- (gen-st (pv a l-1) (pv b-0 l-0))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul l-0 chi))- (exp (gen) (mul chi y))))))))- (label 183)- (parent 177)- (unrealized (0 0) (1 3) (5 0) (6 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)- (l-1 x-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-1)- (uniq-gen x x-0)- (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))- (gen-st (pv a l-1) (pv a-0 l-0))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 184)- (parent 177)- (unrealized (0 0) (1 3) (5 0) (6 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (rec l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (eta (rec l-0)) (l-1 l-0)) (gen)- (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (rec l-0))- (enc na nb a b- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (cat (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0)))))))- (label 185)- (parent 177)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (l l-0 x rndx))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 6 1 init 3) (exp (gen) x-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x))- (enc na nb a b- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))))- (label 186)- (parent 177)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 6 3 ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) l-0))- (enc na nb a b- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))))- (label 187)- (parent 177)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (0 0)) ((1 2) (4 0)) ((2 2) (1 1)) ((3 1) (1 3))- ((4 1) (3 0)) ((5 1) (1 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 2 6 ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 5 2 3 4)- (traces- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (gen)- (enc na nb self b- (hash (exp (gen) l-0) (exp (gen) (mul x l))- (exp (gen) x))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 188)- (parent 177)- (unrealized (0 0) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (deflistener- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((recv- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 189)- (parent 177)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (eta expt) (l l-0 rndx) (w expt))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta eta))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (deflistener- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (deflistener (cat (exp (gen) (mul eta l (rec w))) w))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul eta l (rec w))) w))- (exp (gen) (mul eta l)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) eta)- (enc na nb a b- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((recv- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta))))- (send- (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))- (exp (gen) (mul x eta)))))- ((recv (cat (exp (gen) (mul eta l (rec w))) w))- (send (cat (exp (gen) (mul eta l (rec w))) w))))- (label 190)- (parent 177)- (unrealized (0 0) (5 0) (6 0))- (comment "7 in cohort - 7 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (5 0)) ((4 1) (1 0)) ((4 2) (3 1)) ((5 1) (0 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))) (0 0))- (strand-map 0 1 2 3 4)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))))- (label 191)- (parent 178)- (unrealized (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (beta expt) (l-1 x-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-1) (chi x))- (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-1)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-1) (x l) (x l-1) (x-0 l-0) (x-0 beta))- (precur (5 0))- (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 192)- (parent 179)- (unrealized (0 0) (4 1) (5 0) (6 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y l l-0 x rndx))- (deflistener- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) x) (mul l (rec x))))- (precedes ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y l) (y l-0) (y x) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 6 1 init 3) (exp (gen) x-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x) (mul l (rec x))))- (send (cat (exp (gen) x) (mul l (rec x))))))- (label 193)- (parent 179)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (4 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (l-1 l-0) (w l-0)) (gen) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0))))- (label 194)- (parent 179)- (unrealized (0 0) (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))- ((3 3) (1 3)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 2 6 ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 5 2 3 4)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 195)- (parent 179)- (unrealized (0 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (alpha chi expt) (l-1 y-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-1) (chi x))- (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-1)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-1) (x l) (x l-1) (y-0 l-0) (y-0 alpha)- (y-0 chi))- (precur (5 0))- (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul l-0 chi))- (exp (gen) (mul chi y-0))))))))- (label 196)- (parent 179)- (unrealized (0 0) (4 1) (5 0) (6 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) l-0) (mul l (rec l-0))))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((3 2) (5 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 6 3 ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (mul l (rec l-0))))- (send (cat (exp (gen) l-0) (mul l (rec l-0))))))- (label 197)- (parent 179)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 198)- (parent 179)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))- ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0)) ((6 1) (4 1))- ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1)))- (label 199)- (parent 180)- (unrealized (0 0) (1 3) (4 2) (6 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l (rec l-0))) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((6 1) (4 1))- ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)- (ch-msg priv-stor (cat pt (pv a l-1))))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l (rec l-0))) l-1))- (send (cat (exp (gen) (mul l (rec l-0))) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1)))- (label 200)- (parent 182)- (unrealized (0 0) (1 3) (4 2) (6 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))- ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0)))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 201)- (parent 183)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l y l-0 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))- ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 202)- (parent 183)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 y l-1 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0))- ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))- (label 203)- (parent 183)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))- ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 204)- (parent 184)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l x-0 l-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))- ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 205)- (parent 184)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0))- ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))- (label 206)- (parent 184)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (rec l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (rec l-0))- (enc na nb a b- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (cat (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 207)- (parent 185)- (unrealized (0 0) (1 3) (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (rec l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (rec l-0))- (enc na nb a b- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (hash (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv- (cat (gen) (exp (gen) (mul x l)) (exp (gen) (mul x (rec l-0)))))- (send- (cat (gen) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0))))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 208)- (parent 185)- (unrealized (0 0) (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (l l-0 x rndx))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul l-0 x)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x))- (enc na nb a b- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 209)- (parent 186)- (unrealized (0 0) (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (l l-0 x rndx))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul l-0 x)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x))- (enc na nb a b- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (hash (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x))))- (send- (cat (exp (gen) x) (exp (gen) (mul l-0 x))- (exp (gen) (mul (rec l) x x)))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 210)- (parent 186)- (unrealized (0 0) (1 3) (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) l-0))- (enc na nb a b- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 211)- (parent 187)- (unrealized (0 0) (1 3) (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) l-0))- (enc na nb a b- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (hash (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) l-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) l-0)))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 212)- (parent 187)- (unrealized (0 0) (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 2) (1 1)) ((3 1) (1 3))- ((4 1) (3 0)) ((5 1) (1 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (gen)- (enc na nb self b- (hash (exp (gen) l-0) (exp (gen) (mul x l))- (exp (gen) x))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 213)- (parent 188)- (unrealized (0 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (x l l-0 rndx))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (deflistener- (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 2) (1 1)) ((3 1) (1 3))- ((4 1) (3 0)) ((5 1) (1 0)) ((5 2) (4 0)) ((6 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (gen)- (enc na nb self b- (hash (exp (gen) l-0) (exp (gen) (mul x l))- (exp (gen) x))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (hash (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x)))- (send (cat (exp (gen) l-0) (exp (gen) (mul x l)) (exp (gen) x))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 214)- (parent 188)- (unrealized (0 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (deflistener- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((recv- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 215)- (parent 189)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (deflistener- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (hash (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((recv- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) l-1) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) l-1)))))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 216)- (parent 189)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)- (l-1 rndx) (w expt) (x-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))- ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-1)- (uniq-gen x x-0)- (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))- (precur (6 0))- (gen-st (pv a l-1) (pv a-0 l-0))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 217)- (parent 190)- (unrealized (0 0) (1 3) (5 0) (7 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)- (l l-0 x rndx))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener (cat (exp (gen) x) w))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 7 1 init 3) (exp (gen) x-0) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w (rec l) x))- (enc na nb a b- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))- (label 218)- (parent 190)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)- (w expt))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener (cat (gen) w))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (contracted (eta (mul (rec l-0) w)) (l-1 l-0) (w-0 w)) (gen) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w))- (enc na nb a b- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv (cat (gen) w)) (send (cat (gen) w))))- (label 219)- (parent 190)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener (cat (exp (gen) l-0) w))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (0 0)) ((1 2) (4 0)) ((2 2) (1 1)) ((3 1) (1 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (1 0)) ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((6 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 2 7 ltx-gen 3) (exp (gen) l-1) (6 0))- (strand-map 0 1 6 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) w)- (enc na nb self b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self)))))- (label 220)- (parent 190)- (unrealized (0 0) (4 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)- (alpha chi expt) (l-1 rndx) (w expt) (y rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul (rec l-1) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))- ((7 3) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-1)- (uniq-gen x y)- (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))- (precur (6 0))- (gen-st (pv a l-1) (pv b-0 l-0))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-1) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-1) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul l-0 chi))- (exp (gen) (mul chi y))))))))- (label 221)- (parent 190)- (unrealized (0 0) (1 3) (5 0) (7 0))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener (cat (exp (gen) l-0) w))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((3 2) (6 0)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 7 3 ltx-gen 3) (exp (gen) l-1) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w l-0))- (enc na nb a b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w))))- (label 222)- (parent 190)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)- (l-1 rndx))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener (cat (exp (gen) l-1) w))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w l-1))- (enc na nb a b- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 223)- (parent 190)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (6 0)) ((4 1) (1 0)) ((4 2) (3 1)) ((5 1) (0 0))- ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) y) l-0))- (exp (gen) (mul y l-0)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0))))- (label 224)- (parent 191)- (unrealized (5 0) (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) l-0) y))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (6 0)) ((4 1) (1 0)) ((4 2) (3 1)) ((5 1) (0 0))- ((6 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) y))- (exp (gen) (mul y l-0)) (5 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) l-0) y)) (send (cat (exp (gen) l-0) y))))- (label 225)- (parent 191)- (unrealized (5 0) (6 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x l rndx)- (beta expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-0)))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))- ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-0)))- (send (cat (exp (gen) x-0) (mul (rec x-0) l-0))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 226)- (parent 192)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x rndx)- (beta expt) (l x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) x-0) (mul l (rec x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))- ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul l (rec x-0))))- (send (cat (exp (gen) x-0) (mul l (rec x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 227)- (parent 192)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0))- ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))- (label 228)- (parent 192)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))- ((6 2) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-0 (5 0)- (ch-msg priv-stor (cat pt (pv a l-0))))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-3 "nil")) (send l-0)))- (label 229)- (parent 194)- (unrealized (0 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (6 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0))- ((6 1) (0 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))) (0 0))- (strand-map 0 1 2 3 4 5)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))))- (label 230)- (parent 195)- (unrealized (6 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x l rndx)- (alpha chi expt) (y-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-0)))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))- ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (y-0 alpha) (y-0 chi)- (y-0 l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-0)))- (send (cat (exp (gen) y-0) (mul (rec y-0) l-0))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y-0))))))))- (label 231)- (parent 196)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y x rndx)- (alpha chi expt) (l y-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l-0) (y y) (alpha l) (chi x))- (deflistener (cat (exp (gen) y-0) (mul l (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))- ((6 3) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (y-0 alpha) (y-0 chi)- (y-0 l-0))- (precur (5 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 7 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul l (rec y-0))))- (send (cat (exp (gen) y-0) (mul l (rec y-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y-0))))))))- (label 232)- (parent 196)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 3) (5 0))- ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y x) (y l) (y l-0) (x l) (x l-0) (y-0 alpha) (y-0 chi)- (y-0 l-1))- (precur (5 0))- (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))- (label 233)- (parent 196)- (unrealized (0 0) (4 1) (5 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (8 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) l-0))- (exp (gen) (mul l l-0)) (6 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0))))- (label 234)- (parent 199)- (unrealized (0 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) l))- (exp (gen) (mul l l-0)) (6 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l))))- (label 235)- (parent 199)- (unrealized (0 0) (1 3) (4 2) (8 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l (rec l-0))) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) l) l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (8 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) l-0))- (exp (gen) (mul l (rec l-0))) (6 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l (rec l-0))) l-1))- (send (cat (exp (gen) (mul l (rec l-0))) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0))))- (label 236)- (parent 200)- (unrealized (0 0) (1 3) (4 2) (8 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l (rec l-0))) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) (rec l-0)) l))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (8 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) (rec l-0)) l))- (exp (gen) (mul l (rec l-0))) (6 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l (rec l-0))) l-1))- (send (cat (exp (gen) (mul l (rec l-0))) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) (rec l-0)) l))- (send (cat (exp (gen) (rec l-0)) l))))- (label 237)- (parent 200)- (unrealized (0 0) (1 3) (4 2) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))- ((6 3) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0)))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 238)- (parent 201)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))- ((6 3) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0)))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0)))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 239)- (parent 201)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l y l-0 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))- ((6 3) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 240)- (parent 202)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l y l-0 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))- ((6 3) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) y)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 241)- (parent 202)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 y l-1 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0))- ((7 1) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 242)- (parent 203)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 y l-1 rndx))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (deflistener- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0))- ((7 1) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) y))- (enc na nb a b- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (hash (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((recv- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y))))- (send- (cat (exp (gen) y) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) y)))))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 243)- (parent 203)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 244)- (parent 204)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0)))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 245)- (parent 204)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l x-0 l-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 246)- (parent 205)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l x-0 l-0 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))- ((6 2) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) x-0)))))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 247)- (parent 205)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0))- ((7 1) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 248)- (parent 206)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (deflistener- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0))- ((7 1) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((7 1) (6 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) x-0))- (enc na nb a b- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (hash (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((recv- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0))))- (send- (cat (exp (gen) x-0) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) x-0)))))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 249)- (parent 206)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta w expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 2) (0 0)) ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 8 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 250)- (parent 217)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 2) (0 0)) ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (6 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 8 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 251)- (parent 217)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 rndx) (w expt) (x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))- ((7 2) (6 0)) ((8 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (6 0))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((8 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))- (label 252)- (parent 217)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)- (l l-0 x rndx))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener (cat (exp (gen) x) w))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((1 2) (7 0)) ((2 1) (1 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul l-0 x)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w (rec l) x))- (enc na nb a b- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 253)- (parent 218)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)- (l l-0 x rndx))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (deflistener (cat (exp (gen) x) w))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((1 2) (7 0)) ((2 1) (1 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul l-0 x)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w (rec l) x))- (enc na nb a b- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x))))- (send- (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))- (exp (gen) (mul w (rec l) x x)))))- ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 254)- (parent 218)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)- (w expt))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener (cat (gen) w))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w))- (enc na nb a b- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv (cat (gen) w)) (send (cat (gen) w)))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 255)- (parent 219)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)- (w expt))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (deflistener (cat (gen) w))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w))- (enc na nb a b- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (hash (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w))))- (send- (cat (exp (gen) w) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w)))))- ((recv (cat (gen) w)) (send (cat (gen) w)))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 256)- (parent 219)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener (cat (exp (gen) l-0) w))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 2) (1 1)) ((3 1) (1 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (1 0)) ((6 2) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((6 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) w)- (enc na nb self b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 257)- (parent 220)- (unrealized (0 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (deflistener (cat (exp (gen) l-0) w))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 2) (1 1)) ((3 1) (1 3))- ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (1 0)) ((6 2) (5 0))- ((7 1) (4 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (5 0))- (gen-st (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((6 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (4 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) w)- (enc na nb self b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 258)- (parent 220)- (unrealized (0 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi w expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 3) (0 0)) ((7 3) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 8 2 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w y (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 259)- (parent 221)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 3) (0 0)) ((7 3) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (6 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (displaced 8 3 ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y))))))))- (label 260)- (parent 221)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 rndx) (w expt) (y l-1 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))- ((7 3) (6 0)) ((8 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (precur (6 0))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((8 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))- (label 261)- (parent 221)- (unrealized (0 0) (1 3) (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener (cat (exp (gen) l-0) w))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((3 2) (6 0)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w l-0))- (enc na nb a b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 262)- (parent 222)- (unrealized (0 0) (1 3) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (w expt) (l-0 rndx))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (deflistener (cat (exp (gen) l-0) w))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((3 2) (6 0)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w l-0))- (enc na nb a b- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0))))- (send- (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w l-0)))))- ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 263)- (parent 222)- (unrealized (0 0) (5 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)- (l-1 rndx))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener (cat (exp (gen) l-1) w))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (6 0))- ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w l-1))- (enc na nb a b- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 264)- (parent 223)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)- (l-1 rndx))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (deflistener (cat (exp (gen) l-1) w))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (6 0))- ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na l l-0 l-1)- (uniq-gen x)- (absent (x l) (x l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w l-1))- (enc na nb a b- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1))))- (send- (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w l-1)))))- ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))- ((load priv-stor-1 (cat pt-3 ignore-1))- (stor priv-stor-1 (cat pt-4 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 265)- (parent 223)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (6 0)) ((4 1) (1 0)) ((4 1) (7 0)) ((4 2) (3 1))- ((5 1) (0 0)) ((6 1) (5 0)) ((7 2) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)) ((4 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)- (ch-msg priv-stor-0 (cat pt-2 (pv self l-0))))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l-0)))- (label 266)- (parent 224)- (unrealized (5 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))- ((3 2) (1 1)) ((4 3) (1 3)) ((4 3) (7 0)) ((5 1) (4 1))- ((6 2) (5 0)) ((7 1) (0 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation encryption-test- (added-listener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))) (0 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-3 "nil")) (send l-0))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))))- (label 267)- (parent 229)- (unrealized (7 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0))- ((6 1) (0 0)) ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) y) l-0))- (exp (gen) (mul y l-0)) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0))))- (label 268)- (parent 230)- (unrealized (6 0) (7 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) l-0) y))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0))- ((6 1) (0 0)) ((7 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)))- (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) y))- (exp (gen) (mul y l-0)) (6 0))- (strand-map 0 1 2 3 4 5 6)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) l-0) y)) (send (cat (exp (gen) l-0) y))))- (label 269)- (parent 230)- (unrealized (6 0) (7 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l l-1)) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (8 0)- (ch-msg priv-stor (cat pt (pv a l-1))))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l l-1)) l-0))- (send (cat (exp (gen) (mul l l-1)) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1)))- (label 270)- (parent 235)- (unrealized (0 0) (1 3) (4 2) (8 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec l-1))) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l-0) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-1 (8 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l (rec l-1))) l-0))- (send (cat (exp (gen) (mul l (rec l-1))) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1)))- (label 271)- (parent 236)- (unrealized (0 0) (1 3) (4 2) (8 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta w expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 272)- (parent 250)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (beta w expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w x-0 (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0)))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x w x-0 (rec l-0))))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 273)- (parent 250)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (6 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 274)- (parent 251)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-0) (x x-0) (beta beta))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))- (precur (6 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 275)- (parent 251)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 rndx) (w expt) (x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))- ((7 2) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (6 0))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((8 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 276)- (parent 252)- (unrealized (0 0) (1 3) (5 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)- (l-0 rndx) (w expt) (x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (deflistener (cat (exp (gen) x-0) w))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))- ((7 2) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na na-0 l l-0 l-1)- (uniq-gen x x-0)- (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (6 0))- (gen-st (pv a l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((8 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w x-0))- (enc na nb a b- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0))))- (send- (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w x-0)))))- ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))- ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 277)- (parent 252)- (unrealized (0 0) (5 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi w expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w y (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 278)- (parent 259)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)- (alpha chi w expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (6 0))- (gen-st (pv a l-0))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul w y (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0)))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x w y (rec l-0))))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 279)- (parent 259)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (6 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 280)- (parent 260)- (unrealized (0 0) (1 3) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)- (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)- (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))- ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))- ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))- (precur (6 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((3 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))- (exp (gen) (mul x (rec l) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-0 (cat pt-2 (pv b l-0)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-0))- (exp (gen) (mul chi y)))))))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 281)- (parent 260)- (unrealized (0 0) (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 rndx) (w expt) (y l-1 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))- ((7 3) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (precur (6 0))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((8 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 282)- (parent 261)- (unrealized (0 0) (1 3) (5 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)- (l-0 rndx) (w expt) (y l-1 rndx))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (deflistener (cat (exp (gen) y) w))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))- ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))- ((7 3) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb-0 l l-0 l-1)- (uniq-gen x y)- (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))- (precur (6 0))- (gen-st (pv a l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l))- (leads-to ((2 1) (1 0)) ((8 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul (rec l-0) w y))- (enc na nb a b- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((recv- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y))))- (send- (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))- (exp (gen) (mul x (rec l-0) w y)))))- ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))- ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 283)- (parent 261)- (unrealized (0 0) (5 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (3 2)) ((1 2) (8 0)) ((2 1) (3 0)) ((2 2) (1 1))- ((3 3) (1 3)) ((3 3) (6 0)) ((4 1) (1 0)) ((4 1) (7 0))- ((4 2) (3 1)) ((5 1) (0 0)) ((6 1) (5 0)) ((7 2) (6 0))- ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)) ((4 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 284)- (parent 266)- (unrealized (5 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (3 2)) ((1 2) (8 0)) ((2 1) (3 0)) ((2 2) (1 1))- ((3 3) (1 3)) ((3 3) (6 0)) ((4 1) (1 0)) ((4 1) (7 0))- ((4 2) (3 1)) ((5 1) (0 0)) ((6 1) (5 0)) ((7 2) (6 0))- ((8 1) (5 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((4 1) (1 0)) ((4 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (5 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 285)- (parent 266)- (unrealized (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (4 2)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (1 3)) ((4 3) (7 0))- ((5 1) (4 1)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-3 "nil")) (send l-0))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 286)- (parent 267)- (unrealized (7 0) (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (gen) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (4 2)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (6 0))- ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (1 3)) ((4 3) (7 0))- ((5 1) (4 1)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (5 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (7 0))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-2 (pv b l)))- (recv- (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))- (recv (cat na a b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-3 "nil")) (send l-0))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 287)- (parent 267)- (unrealized (8 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))- (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))- ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 1) (8 0))- ((5 2) (4 0)) ((6 1) (0 0)) ((7 1) (6 0)) ((8 2) (7 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-disclose 3) l-0 (7 0)- (ch-msg priv-stor-0 (cat pt-2 (pv self l-0))))- (strand-map 0 1 2 3 4 5 6 7)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l-0)))- (label 288)- (parent 268)- (unrealized (6 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 3 ltx-gen 3) (exp (gen) l-1)- (8 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0)))- (label 289)- (parent 270)- (unrealized (0 0) (1 3) (4 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx)- (w expt))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l) (eta (mul y l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x l (rec l-0))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul l l-1)) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec w))) w))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-0))) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l-1) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec w))) w)) (exp (gen) l)- (8 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0)))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))- ((load priv-stor (cat pt (pv a l-1)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-0)))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-0)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-0))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul l l-1)) l-0))- (send (cat (exp (gen) (mul l l-1)) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul l (rec w))) w))- (send (cat (exp (gen) (mul l (rec w))) w))))- (label 290)- (parent 270)- (unrealized (0 0) (1 3) (4 2) (10 0))- (comment "8 in cohort - 8 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 10 3 ltx-gen 3) (exp (gen) l-1)- (8 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0)))- (label 291)- (parent 271)- (unrealized (0 0) (1 3) (4 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx)- (w expt))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l) (eta (mul y l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec l-1))) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l (rec w))) w))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l-0) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul l (rec w))) w)) (exp (gen) l)- (8 0))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))- ((load priv-stor (cat pt (pv a l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l))- (exp (gen) (mul y x l (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l (rec l-1))) l-0))- (send (cat (exp (gen) (mul l (rec l-1))) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l) l-1)) (send (cat (exp (gen) l) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul l (rec w))) w))- (send (cat (exp (gen) (mul l (rec w))) w))))- (label 292)- (parent 271)- (unrealized (0 0) (1 3) (4 2) (10 0))- (comment "8 in cohort - 8 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) x) l))- (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))- ((3 3) (1 3)) ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0))- ((5 1) (8 0)) ((5 2) (4 0)) ((6 1) (0 0)) ((7 1) (6 0))- ((8 2) (7 0)) ((9 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l))- (exp (gen) (mul x l)) (6 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))- ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))- (label 293)- (parent 288)- (unrealized (6 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)- (y x l l-0 rndx))- (deflistener- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l))- (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)- (l l) (y y) (alpha l-0) (chi x))- (deflistener (cat (exp (gen) l-0) (one)))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (deflistener- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (deflistener (cat (exp (gen) y) l-0))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))- (deflistener (cat (exp (gen) l) x))- (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))- ((3 3) (1 3)) ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0))- ((5 1) (8 0)) ((5 2) (4 0)) ((6 1) (0 0)) ((7 1) (6 0))- ((8 2) (7 0)) ((9 1) (6 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0)- (uniq-gen y x)- (absent (y x) (y l) (y l-0) (x l) (x l-0))- (precur (4 0))- (gen-st (pv b l) (pv self l-0))- (facts (neq b self) (neq self b) (undisclosed l))- (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l) x))- (exp (gen) (mul x l)) (6 0))- (strand-map 0 1 2 3 4 5 6 7 8)- (traces- ((recv- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l)))- (send- (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor (cat pt-0 (pv b l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (recv (cat na self b (exp (gen) x)))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((recv- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x))))- (send- (cat (exp (gen) (mul y l-0)) (exp (gen) (mul x l))- (exp (gen) (mul y x)))))- ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))- ((load priv-stor-0 (cat pt-2 (pv self l-0)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))- ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))- (label 294)- (parent 288)- (unrealized (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) (mul x (rec l))) l-1))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l))) l-1))- (exp (gen) (mul x (rec l) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x (rec l))) l-1))- (send (cat (exp (gen) (mul x (rec l))) l-1))))- (label 295)- (parent 289)- (unrealized (0 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) (mul x l-1)) l))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((5 1) (10 0)) ((6 1) (4 1)) ((7 2) (6 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) (mul x l-1)) l))- (exp (gen) (mul x (rec l) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x l-1)) l))- (send (cat (exp (gen) (mul x l-1)) l))))- (label 296)- (parent 289)- (seen 317)- (seen-ops- (317- (operation nonce-test (added-strand ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)))- (unrealized (0 0) (1 3) (10 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l) l-1)) x))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l) l-1)) x))- (exp (gen) (mul x (rec l) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul (rec l) l-1)) x))- (send (cat (exp (gen) (mul (rec l) l-1)) x))))- (label 297)- (parent 289)- (unrealized (0 0) (1 3) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (alpha chi expt) (l-2 y-0 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-2) (eta (mul y (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-2)) (chi (mul x (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-2)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-2)) (y (mul (rec l) l-0 l-2)) (y l)- (x l-0) (x l-2) (y-0 l-1) (y-0 alpha) (y-0 chi))- (precur (10 0))- (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2)) (exp (gen) (mul y x (rec l) l-2)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-2))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-2)) l))- (send (cat (exp (gen) (mul l-0 l-2)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-2 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul l-1 chi))- (exp (gen) (mul chi y-0))))))))- (label 298)- (parent 290)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0) (11 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (beta expt) (l-2 x-0 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-2) (eta (mul y (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-2)) (chi (mul x (rec l) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-2)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-2)) (y (mul (rec l) l-0 l-2)) (y l)- (x l-0) (x l-2) (x-0 l-1) (x-0 beta))- (precur (10 0))- (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2)) (exp (gen) (mul y x (rec l) l-2)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-2))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-2)) l))- (send (cat (exp (gen) (mul l-0 l-2)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-2 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 299)- (parent 290)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0) (11 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (gen) l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (10 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (l-2 l-1) (w l-1)) (gen) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (gen) l-1)) (send (cat (gen) l-1))))- (label 300)- (parent 290)- (unrealized (0 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y l l-0 l-1 x rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul (rec l) l-1 x)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x) (mul l-1 (rec x))))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul (rec l) l-0 l-1)) (y (mul (rec l) l-1 x)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 1 init 3) (exp (gen) x-0) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x)) (exp (gen) (mul y (rec l) l-1 x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul (rec l) l-1 x))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x) (mul l-1 (rec x))))- (send (cat (exp (gen) x) (mul l-1 (rec x))))))- (label 301)- (parent 290)- (unrealized (0 0) (1 3) (4 2) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 3 ltx-gen 3) (exp (gen) l-2)- (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one)))))- (label 302)- (parent 290)- (unrealized (0 0) (1 3) (4 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-1) (l l-1) (x x) (beta l-0)- (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l-0))- (defstrand resp 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l) (y y) (alpha (mul (rec l) l-0 l-1))- (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (3 2)) ((2 2) (1 1)) ((3 3) (0 0)) ((3 3) (1 3))- ((4 1) (3 0)) ((4 1) (6 0)) ((5 1) (3 1)) ((6 2) (5 0))- ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (1 0))- ((10 1) (8 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv b l) (pv self l-1))- (facts (neq b self) (neq self b) (undisclosed l-0))- (leads-to ((4 1) (3 0)) ((4 1) (6 0)) ((10 1) (1 0)) ((10 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 2 11 ltx-gen 3) (exp (gen) l-2)- (10 0))- (strand-map 0 1 10 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x (rec l) l-0)))))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (recv- (sig- (body self (exp (gen) (mul (rec l) l-0 l-1))- (pubk "sig" self)) (privk "sig" self)))- (recv (cat na self b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-0 (cat pt-2 ignore-0))- (stor priv-stor-0 (cat pt-1 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (stor priv-stor-0 (cat pt-3 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-4 "nil")) (send l-1))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 303)- (parent 290)- (unrealized (0 0) (1 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b self) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b self)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0))- ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (4 0))- ((10 1) (6 0)) ((10 2) (9 0)))- (non-orig (privk "sig" self))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv self l-1))- (facts (neq self a) (neq a self) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((10 1) (4 0)) ((10 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 5 11 ltx-gen 3) (exp (gen) l-2)- (10 0))- (strand-map 0 1 2 3 4 10 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (send (cat na a self (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a self (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-3 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-4 "nil")) (send l))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 304)- (parent 290)- (unrealized (0 0) (1 3) (4 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb data)- (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 l-2 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (defstrand ltx-gen 3 (ignore ignore-2) (self self)- (priv-stor priv-stor-2) (l l-2))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1 l-2)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-2) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (send (cat (exp (gen) l-2) (mul l-1 (rec l-2)))))- ((load priv-stor-2 (cat pt-7 ignore-2))- (stor priv-stor-2 (cat pt-8 (pv self l-2)))- (send- (sig (body self (exp (gen) l-2) (pubk "sig" self))- (privk "sig" self)))))- (label 305)- (parent 290)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul x (rec l-0))) l-1))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l-0))) l-1))- (exp (gen) (mul x (rec l-0) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x (rec l-0))) l-1))- (send (cat (exp (gen) (mul x (rec l-0))) l-1))))- (label 306)- (parent 291)- (unrealized (0 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul x l-1)) l-0))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((5 1) (10 0)) ((6 1) (4 1)) ((7 2) (6 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x l-1)) l-0))- (exp (gen) (mul x (rec l-0) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul x l-1)) l-0))- (send (cat (exp (gen) (mul x l-1)) l-0))))- (label 307)- (parent 291)- (seen 329)- (seen-ops- (329- (operation nonce-test (added-strand ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)))- (unrealized (0 0) (1 3) (10 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (exp (gen) (mul x (rec l-0) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) x))- (send (cat (exp (gen) (mul (rec l-0) l-1)) x))))- (label 308)- (parent 291)- (unrealized (0 0) (1 3) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (alpha chi expt) (l-2 y-0 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-2) (eta (mul y (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-2))- (chi (mul x (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-2)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l-0) l-2)) (y (mul l (rec l-0) l-2)) (y l-0)- (x l) (x l-2) (y-0 l-1) (y-0 alpha) (y-0 chi))- (precur (10 0))- (gen-st (pv a l) (pv b l-0) (pv b-0 l-1))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2)) (exp (gen) (mul y x (rec l-0) l-2)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-2))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-2)) l))- (send (cat (exp (gen) (mul (rec l-0) l-2)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-2 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-2 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul l-1 chi))- (exp (gen) (mul chi y-0))))))))- (label 309)- (parent 292)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0) (11 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)- (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 rndx) (beta expt) (l-2 x-0 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-2) (eta (mul y (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-2))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-2))- (chi (mul x (rec l-0) l-2)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-2)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-2) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l-0) l-2)) (y (mul l (rec l-0) l-2)) (y l-0)- (x l) (x l-2) (x-0 l-1) (x-0 beta))- (precur (10 0))- (gen-st (pv a l) (pv b l-0) (pv a-0 l-1))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-2))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0- trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0- trRl_ltx-gen-at-1)- (operation nonce-test (added-strand init 3) (exp (gen) x-0) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-2)) (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2)) (exp (gen) (mul y x (rec l-0) l-2)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-2))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-2)))- (send- (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-2)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-2))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-2))- (exp (gen) (mul x l-2))- (exp (gen) (mul y x (rec l-0) l-2)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-2)) l))- (send (cat (exp (gen) (mul (rec l-0) l-2)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-2) l-0)) (send (cat (exp (gen) l-2) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-2 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-2 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0)))- (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))- (label 310)- (parent 292)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0) (11 0))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (gen) l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (10 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (contracted (l-2 l-1) (w l-1)) (gen) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (gen) l-1)) (send (cat (gen) l-1))))- (label 311)- (parent 292)- (unrealized (0 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y l l-0 l-1 x rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul (rec l) l-1 x)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-1)) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) x) (mul l-1 (rec x))))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul (rec l) l-0 l-1)) (y (mul (rec l) l-1 x)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 1 init 3) (exp (gen) x-0) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x)) (exp (gen) (mul y (rec l) l-1 x)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul (rec l) l-1 x))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul l-1 x))- (exp (gen) (mul y (rec l) l-1 x)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-1)) l-0))- (send (cat (exp (gen) (mul (rec l) l-1)) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-5 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) l)) (send (cat (exp (gen) l-1) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) x) (mul l-1 (rec x))))- (send (cat (exp (gen) x) (mul l-1 (rec x))))))- (label 312)- (parent 292)- (unrealized (0 0) (1 3) (4 2) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 3 ltx-gen 3) (exp (gen) l-2)- (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one)))))- (label 313)- (parent 292)- (unrealized (0 0) (1 3) (4 2))- (comment "3 in cohort - 3 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-1) (l l-1) (x x) (beta l-0)- (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)- (l l-0))- (defstrand resp 4 (na na) (nb nb) (a self) (b b)- (priv-stor priv-stor-0) (l l) (y y) (alpha (mul (rec l) l-0 l-1))- (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-0)) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-0) (l l))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (3 2)) ((2 2) (1 1)) ((3 3) (0 0)) ((3 3) (1 3))- ((4 1) (3 0)) ((4 1) (8 0)) ((5 1) (3 1)) ((6 2) (5 0))- ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (1 0))- ((10 1) (6 0)) ((10 2) (9 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (9 0))- (gen-st (pv b l) (pv self l-1))- (facts (neq b self) (neq self b) (undisclosed l-0))- (leads-to ((4 1) (3 0)) ((4 1) (8 0)) ((10 1) (1 0)) ((10 1) (6 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 2 11 ltx-gen 3) (exp (gen) l-2)- (10 0))- (strand-map 0 1 10 2 3 4 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x (rec l) l-0)))))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na self b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt ignore))- (stor priv-stor (cat pt-0 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (recv- (sig- (body self (exp (gen) (mul (rec l) l-0 l-1))- (pubk "sig" self)) (privk "sig" self)))- (recv (cat na self b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb self b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-0 (cat pt-2 ignore-0))- (stor priv-stor-0 (cat pt-1 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-0)) l-1))- (send (cat (exp (gen) (mul (rec l) l-0)) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-3 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor-0 (cat pt-1 (pv b l)))- (stor priv-stor-0 (cat pt-4 "nil")) (send l))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 314)- (parent 292)- (unrealized (0 0) (1 3) (3 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b self) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self self)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b self)- (priv-stor priv-stor-1) (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (defstrand ltx-gen 3 (ignore ignore-1) (self self)- (priv-stor priv-stor-1) (l l-1))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0))- ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (7 0)) ((10 1) (4 0))- ((10 1) (8 0)) ((10 2) (9 0)))- (non-orig (privk "sig" self))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (9 0))- (gen-st (pv a l) (pv self l-1))- (facts (neq self a) (neq a self) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((10 1) (4 0)) ((10 1) (8 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 5 11 ltx-gen 3) (exp (gen) l-2)- (10 0))- (strand-map 0 1 2 3 4 10 5 6 7 8 9)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))) (send (cat na a self (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv self l-0)))- (send- (sig (body self (exp (gen) l-0) (pubk "sig" self))- (privk "sig" self))))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a self (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a self- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-3 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-6 (pv self l-1)))- (stor priv-stor-1 (cat pt-4 "nil")) (send l-1))- ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))- (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))- ((load priv-stor-1 (cat pt-5 ignore-1))- (stor priv-stor-1 (cat pt-6 (pv self l-1)))- (send- (sig (body self (exp (gen) l-1) (pubk "sig" self))- (privk "sig" self)))))- (label 315)- (parent 292)- (unrealized (0 0) (1 3) (4 2) (7 0) (9 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb data)- (a b self name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 l-1 l-2 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (defstrand ltx-gen 3 (ignore ignore-2) (self self)- (priv-stor priv-stor-2) (l l-2))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1 l-2)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-2) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-2) (mul l-1 (rec l-2))))- (send (cat (exp (gen) l-2) (mul l-1 (rec l-2)))))- ((load priv-stor-2 (cat pt-7 ignore-2))- (stor priv-stor-2 (cat pt-8 (pv self l-2)))- (send- (sig (body self (exp (gen) l-2) (pubk "sig" self))- (privk "sig" self)))))- (label 316)- (parent 292)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((7 2) (10 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 7 ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 317)- (parent 296)- (unrealized (0 0) (1 3) (10 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (alpha chi expt) (y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (11 0)) ((5 1) (4 0))- ((5 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 3 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (send (cat (exp (gen) y-0) (mul (rec y-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 318)- (parent 298)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((2 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (10 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((2 1) (11 0)) ((5 1) (4 0))- ((5 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 319)- (parent 298)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((5 1) (11 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0))- ((5 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 5 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 320)- (parent 298)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (alpha chi expt) (l-1 y-0 l-2 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-2) (y y-0) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-2) (self b-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 3) (10 0)) ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-2))- (precur (10 0))- (gen-st (pv a l-0) (pv b l) (pv b-0 l-2))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0))- ((12 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-2)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-2))- (exp (gen) (mul chi y-0)))))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv b-0 l-2)))))- (label 321)- (parent 298)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (beta expt) (x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (11 0)) ((5 1) (4 0))- ((5 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 3 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (send (cat (exp (gen) x-0) (mul (rec x-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 322)- (parent 299)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((2 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-1))- (precur (10 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((2 1) (11 0)) ((5 1) (4 0))- ((5 1) (7 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 323)- (parent 299)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((5 1) (11 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0))- ((5 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 5 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 324)- (parent 299)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (beta expt) (l-1 x-0 l-2 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-2) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-2) (self a-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 2) (10 0)) ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-2))- (precur (10 0))- (gen-st (pv a l-0) (pv b l) (pv a-0 l-2))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0))- ((12 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-2)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv a-0 l-2)))))- (label 325)- (parent 299)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x (rec l))) l-1))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l))) l-1))- (exp (gen) (mul x (rec l) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x (rec l))) l-1))- (send (cat (exp (gen) (mul x (rec l))) l-1))))- (label 326)- (parent 302)- (unrealized (0 0) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x l-1)) l))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((5 1) (11 0)) ((6 1) (4 1)) ((7 2) (6 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) (mul x l-1)) l))- (exp (gen) (mul x (rec l) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x l-1)) l))- (send (cat (exp (gen) (mul x l-1)) l))))- (label 327)- (parent 302)- (seen 343)- (seen-ops- (343- (operation nonce-test (added-strand ltx-disclose 3) l-1 (11 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)))- (unrealized (0 0) (1 3) (11 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-0) (x x) (beta l-1) (eta (mul y (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-0))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul l-0 l-1)) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul (rec l) l-1)) x))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l) l-1)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1))- (precur (10 0))- (gen-st (pv a l-0) (pv b l))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l) l-1)) x))- (exp (gen) (mul x (rec l) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l) l-1)))))- ((load priv-stor (cat pt (pv a l-0)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-1))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-0))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul l-0 l-1)) l))- (send (cat (exp (gen) (mul l-0 l-1)) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor (cat pt (pv a l-0)))- (stor priv-stor (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul (rec l) l-1)) x))- (send (cat (exp (gen) (mul (rec l) l-1)) x))))- (label 328)- (parent 302)- (unrealized (0 0) (1 3) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((9 2) (10 0)) ((10 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 11 9 ltx-disclose 3) l-1 (10 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 329)- (parent 307)- (unrealized (0 0) (1 3) (10 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (alpha chi expt) (y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-0) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (11 0)) ((5 1) (4 0))- ((5 1) (9 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 3 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-1)))- (send (cat (exp (gen) y-0) (mul (rec y-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 330)- (parent 309)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-0)) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)- (priv-stor priv-stor) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((2 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (10 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((2 1) (11 0)) ((5 1) (4 0))- ((5 1) (9 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-0)) l-1))- (send (cat (exp (gen) (mul (rec l) l-0)) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 a- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 331)- (parent 309)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)- (a b a-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx)- (alpha chi expt) (l-0 y-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)- (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((5 1) (11 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 3) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1)- (uniq-gen y x y-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (y-0 alpha) (y-0 chi) (y-0 l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0))- ((5 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 5 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-1))- (exp (gen) (mul chi y-0))))))))- (label 332)- (parent 309)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 nb-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (alpha chi expt) (l-1 y-0 l-2 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)- (priv-stor priv-stor-2) (l l-2) (y y-0) (alpha alpha) (chi chi))- (defstrand ltx-gen 2 (ignore ignore-2) (self b-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 3) (10 0)) ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb nb-0 l l-0 l-1 l-2)- (uniq-gen y x y-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (y-0 alpha) (y-0 chi) (y-0 l-2))- (precur (10 0))- (gen-st (pv a l) (pv b l-0) (pv b-0 l-2))- (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0))- ((12 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv b-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))- (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))- ((load priv-stor-2 (cat pt-7 (pv b-0 l-2)))- (recv- (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))- (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))- (send- (cat (exp (gen) y-0)- (enc na-0 nb-0 a-0 b-0- (hash (exp (gen) (mul alpha y-0)) (exp (gen) (mul chi l-2))- (exp (gen) (mul chi y-0)))))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv b-0 l-2)))))- (label 333)- (parent 309)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 rndx)- (beta expt) (x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (x-0 beta) (x-0 l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (11 0)) ((5 1) (4 0))- ((5 1) (9 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 3 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-1)))- (send (cat (exp (gen) x-0) (mul (rec x-0) l-1))))- ((load priv-stor-0 (cat pt-2 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 334)- (parent 310)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l-1) (x x) (beta l-0) (eta (mul y (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l-1))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l) (y y) (alpha (mul (rec l) l-0 l-1)) (chi (mul x (rec l) l-0)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) (mul (rec l) l-0)) l-1))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((2 1) (11 0))- ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x (rec l) l-0)) (y (mul (rec l) l-0 l-1)) (y l)- (x l-0) (x l-1) (x-0 beta) (x-0 l-1))- (precur (10 0))- (gen-st (pv a l-1) (pv b l))- (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((2 1) (11 0)) ((5 1) (4 0))- ((5 1) (9 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 2 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y (rec l) l-0 l-1)) (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0))))- (send- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x (rec l) l-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l) l-0))- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l-1))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (recv- (sig (body a (exp (gen) (mul (rec l) l-0 l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l) l-0))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y (rec l) l-0 l-1))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x (rec l) l-0)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l))))- ((recv (cat (exp (gen) (mul (rec l) l-0)) l-1))- (send (cat (exp (gen) (mul (rec l) l-0)) l-1)))- ((load priv-stor (cat pt (pv a l-1)))- (stor priv-stor (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor-1 (cat pt-3 (pv b l)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor (cat pt (pv a l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))- (label 335)- (parent 310)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data) (a b b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l rndx) (beta expt)- (l-0 x-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-1)- (l l-1) (x x-0) (beta beta))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((5 1) (11 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 2) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1)- (uniq-gen y x x-0)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0) (x-0 beta) (x-0 l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0))- ((5 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (displaced 12 5 ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))- (label 336)- (parent 310)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 data)- (a b a-0 b-0 name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pt-7 pt-8 pval)- (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)- (y x l l-0 rndx) (beta expt) (l-1 x-0 l-2 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-2)- (l l-2) (x x-0) (beta beta))- (defstrand ltx-gen 2 (ignore ignore-2) (self a-0)- (priv-stor priv-stor-2) (l l-2))- (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (9 0))- ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0)) ((9 2) (8 0))- ((10 1) (8 0)) ((11 2) (10 0)) ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb na-0 l l-0 l-1 l-2)- (uniq-gen y x x-0)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1) (x-0 beta) (x-0 l-2))- (precur (10 0))- (gen-st (pv a l) (pv b l-0) (pv a-0 l-2))- (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)- (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0))- ((12 1) (11 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0- trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation channel-test (added-strand ltx-gen 2)- (ch-msg priv-stor-2 (cat pt-7 (pv a-0 l-2))) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))- (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))- ((load priv-stor-2 (cat pt-7 (pv a-0 l-2)))- (recv- (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))- (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))- ((load priv-stor-2 (cat pt-8 ignore-2))- (stor priv-stor-2 (cat pt-7 (pv a-0 l-2)))))- (label 337)- (parent 310)- (unrealized (0 0) (1 3) (4 2) (8 0) (10 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x (rec l-0))) l-1))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x (rec l-0))) l-1))- (exp (gen) (mul x (rec l-0) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x (rec l-0))) l-1))- (send (cat (exp (gen) (mul x (rec l-0))) l-1))))- (label 338)- (parent 313)- (unrealized (0 0) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul x l-1)) l-0))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((5 1) (11 0)) ((6 1) (4 1)) ((7 2) (6 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul x l-1)) l-0))- (exp (gen) (mul x (rec l-0) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul x l-1)) l-0))- (send (cat (exp (gen) (mul x l-1)) l-0))))- (label 339)- (parent 313)- (seen 346)- (seen-ops- (346- (operation nonce-test (added-strand ltx-disclose 3) l-1 (11 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)))- (unrealized (0 0) (1 3) (11 0))- (comment "2 in cohort - 1 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-1) (eta (mul y (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-1))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-0) (y y) (alpha (mul l (rec l-0) l-1))- (chi (mul x (rec l-0) l-1)))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-1) l-0))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-0))- (deflistener (cat (exp (gen) l-1) (one)))- (deflistener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x (rec l-0) l-1)) (y (mul l (rec l-0) l-1)) (y l-0)- (x l) (x l-1))- (precur (10 0))- (gen-st (pv a l) (pv b l-0))- (facts (neq b a) (neq a b) (undisclosed l-1))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test- (added-listener (cat (exp (gen) (mul (rec l-0) l-1)) x))- (exp (gen) (mul x (rec l-0) l-1)) (4 2))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l (rec l-0) l-1)) (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1))))- (send- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1)) (exp (gen) (mul y x (rec l-0) l-1)))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y (rec l-0) l-1))- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-1)))- (send- (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (recv- (sig (body a (exp (gen) (mul l (rec l-0) l-1)) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x (rec l-0) l-1))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l (rec l-0) l-1))- (exp (gen) (mul x l-1))- (exp (gen) (mul y x (rec l-0) l-1)))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-0))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) l))- (send (cat (exp (gen) (mul (rec l-0) l-1)) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))- ((load priv-stor-1 (cat pt-3 (pv b l-0)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-0))- ((recv (cat (exp (gen) l-1) (one)))- (send (cat (exp (gen) l-1) (one))))- ((recv (cat (exp (gen) (mul (rec l-0) l-1)) x))- (send (cat (exp (gen) (mul (rec l-0) l-1)) x))))- (label 340)- (parent 313)- (unrealized (0 0) (1 3) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((7 2) (10 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (4 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 341)- (parent 317)- (unrealized (0 0) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((7 2) (10 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (4 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 342)- (parent 317)- (unrealized (0 0) (1 3) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((7 2) (11 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 12 7 ltx-disclose 3) l-1 (11 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 343)- (parent 327)- (unrealized (0 0) (1 3) (11 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((9 2) (10 0)) ((10 1) (4 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 344)- (parent 329)- (unrealized (0 0) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (8 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((9 2) (10 0)) ((10 1) (4 2)) ((11 1) (10 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (10 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 345)- (parent 329)- (unrealized (0 0) (1 3) (11 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (precedes ((1 2) (11 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((9 2) (11 0)) ((10 1) (8 0)) ((11 1) (4 2)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (displaced 12 9 ltx-disclose 3) l-1 (11 0)- (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1))))- (label 346)- (parent 339)- (unrealized (0 0) (1 3) (11 0))- (comment "2 in cohort - 2 not yet seen"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((7 2) (11 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2))- ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 347)- (parent 343)- (unrealized (0 0) (12 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l l-0)) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (7 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((7 2) (11 0))- ((8 1) (6 0)) ((9 2) (8 0)) ((10 1) (8 0)) ((11 1) (4 2))- ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((5 1) (4 0)) ((5 1) (7 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l l-0)) l-1))- (send (cat (exp (gen) (mul l l-0)) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-6 "nil")) (send l))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 348)- (parent 343)- (unrealized (0 0) (1 3) (12 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) x) l-0))- (precedes ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((9 2) (11 0)) ((10 1) (8 0)) ((11 1) (4 2))- ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) x) l-0))- (exp (gen) (mul x l-0)) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))- (label 349)- (parent 346)- (unrealized (0 0) (12 0))- (dead)- (comment "empty cohort"))--(defskeleton dhcr-um3- (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)- (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)- (priv-stor priv-stor-0 priv-stor-1 locn) (y x l l-0 l-1 rndx))- (deflistener- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)- (l l) (x x) (beta l-0) (eta (mul y l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)- (l l))- (defstrand ltx-gen 3 (ignore ignore-0) (self b)- (priv-stor priv-stor-0) (l l-0))- (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)- (l l-1) (y y) (alpha (mul l l-0 (rec l-1)))- (chi (mul x l-0 (rec l-1))))- (defstrand ltx-gen 2 (ignore ignore-1) (self b)- (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) l))- (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l))- (deflistener (cat (exp (gen) l-0) l-1))- (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))- (deflistener (cat (exp (gen) l-0) (one)))- (deflistener (cat (exp (gen) (mul x l-0)) l-1))- (deflistener (cat (exp (gen) l-0) x))- (precedes ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 2) (1 1))- ((3 2) (10 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 0))- ((5 1) (9 0)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (6 0))- ((9 2) (8 0)) ((9 2) (11 0)) ((10 1) (8 0)) ((11 1) (4 2))- ((12 1) (11 0)))- (non-orig (privk "sig" b))- (uniq-orig na nb l l-0 l-1)- (uniq-gen y x)- (absent (y (mul x l-0 (rec l-1))) (y (mul l l-0 (rec l-1))) (y l-1)- (x l) (x l-0))- (precur (10 0))- (gen-st (pv a l) (pv b l-1))- (facts (neq b a) (neq a b) (undisclosed l-0))- (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((5 1) (4 0)) ((5 1) (9 0)))- (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1- trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)- (operation nonce-test (added-listener (cat (exp (gen) l-0) x))- (exp (gen) (mul x l-0)) (11 0))- (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)- (traces- ((recv- (hash (exp (gen) (mul y l l-0 (rec l-1))) (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1)))))- (send- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0)) (exp (gen) (mul y x l-0 (rec l-1))))))- ((load priv-stor (cat pt (pv a l)))- (recv- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv- (cat (exp (gen) (mul y l-0 (rec l-1)))- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor (cat pt-0 ignore))- (stor priv-stor (cat pt (pv a l))))- ((load priv-stor-0 (cat pt-1 ignore-0))- (stor priv-stor-0 (cat pt-2 (pv b l-0)))- (send- (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (recv- (sig (body a (exp (gen) (mul l l-0 (rec l-1))) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))- (send- (cat (exp (gen) y)- (enc na nb a b- (hash (exp (gen) (mul y l l-0 (rec l-1)))- (exp (gen) (mul x l-0))- (exp (gen) (mul y x l-0 (rec l-1))))))))- ((load priv-stor-1 (cat pt-4 ignore-1))- (stor priv-stor-1 (cat pt-3 (pv b l-1))))- ((recv (cat (exp (gen) (mul l-0 (rec l-1))) l))- (send (cat (exp (gen) (mul l-0 (rec l-1))) l)))- ((load priv-stor (cat pt (pv a l)))- (stor priv-stor (cat pt-5 "nil")) (send l))- ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))- ((load priv-stor-1 (cat pt-3 (pv b l-1)))- (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))- ((recv (cat (exp (gen) l-0) (one)))- (send (cat (exp (gen) l-0) (one))))- ((recv (cat (exp (gen) (mul x l-0)) l-1))- (send (cat (exp (gen) (mul x l-0)) l-1)))- ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))- (label 350)- (parent 346)- (unrealized (0 0) (1 3) (12 0))- (dead)- (comment "empty cohort"))--(comment "Nothing left to do")
− tst/dhcr_um_goals.scm
@@ -1,317 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the standard version, in which the two-;;; ephemeral are mixed, as are the two static exponents.--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; A sequence of queries are analyzed. Four show what happens given-;;; an initiator run, depnding which long term values are exposed.-;;; Then four ask the corresponding questions about the responder. In-;;; each group of four, we first assume neither long term exponent is-;;; exposed, then consider each exposure individually, and then both-;;; exposed. --;;; Then we consider the forward secrecy question, first from the-;;; initiator's point of view, and then from the responder's.--;;; The UM key derivation achieves forward secrecy. Its weakness is-;;; that if a participant's *own* long term value is exposed, an-;;; adversary can acquire a key shared with them for any claimed peer.-;;; This remains true if we stipulate that the partcipant generates a-;;; long trem key only once. If my peer's long term value is exposed-;;; of course anyone can impersonate them.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) original"- (bound 30)- (limit 8000)- (goals-sat)- (algebra diffie-hellman))--(defmacro (kcfa l gb x gy)- (hash (exp gb l) (exp gy x)))--(defmacro (kcfb l ga y gx) - (hash (exp ga l) (exp gx y)))--(defprotocol dhcr-um diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule ltx-gen-once-inference- (forall- ((z1 z2 strd) (self name))- (implies- (and- (fact ltx-gen-once self)- (p "ltx-gen" z1 2)- (p "ltx-gen" "self" z1 self)- (p "ltx-gen" z2 2)- (p "ltx-gen" "self" z2 self))- (= z1 z2))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))---(defgoal dhcr-um- (forall- ((na nb data) (a b name) (priv-stor locn) (l l-peer x rndx)- (eta expt) (z strd))- (implies- (and- (p "init" z 4)- (p "init" "na" z na)- (p "init" "nb" z nb) - (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "priv-stor" z priv-stor)- (p "init" "l" z l)- (p "init" "x" z x)- (p "init" "beta" z l-peer) - (p "init" "eta" z eta)- (non (privk "sig" b))- (ugen x)- (uniq-at na z 2)- (fact neq a b)- (fact undisclosed l)- (fact undisclosed l-peer))- (exists- ((z-1 strd) (y rndx) (w expt))- (and- (= eta (mul w y))- (p "resp" z-1 4) - (p "resp" "na" z-1 na)- (p "resp" "nb" z-1 nb) (p "resp" "a" z-1 a)- (p "resp" "b" z-1 b) - (p "resp" "l" z-1 l-peer) (p "resp" "y" z-1 y)- (p "resp" "alpha" z-1 l) (p "resp" "chi" z-1 (mul y w))- (prec z 2 z-1 2) - (ugen y) (uniq-at nb z-1 3))))))---(defgoal dhcr-um- (forall- ((z strd) (na nb data) (a b name) (l l-peer y rndx)- (chi expt))- (implies- (and (p "resp" z 5)- (p "resp" "na" z na)- (p "resp" "nb" z nb)- (p "resp" "a" z a)- (p "resp" "b" z b)- (p "resp" "l" z l)- (p "resp" "y" z y)- (p "resp" "alpha" z l-peer)- (p "resp" "chi" z chi)- (non (privk "sig" a)) (ugen y)- (uniq-at nb z 3) (fact neq a b) (fact undisclosed l)- (fact undisclosed l-peer)) - (exists- ((z-1 strd) (x rndx) (w expt))- (and (= chi (mul x w))- (p "init" z-1 5)- (p "resp" "chi" z (mul x w)) - (p "init" "na" z-1 na)- (p "init" "nb" z-1 nb)- (p "init" "a" z-1 a)- (p "init" "b" z-1 b) - (p "init" "l" z-1 l-peer)- (p "init" "x" z-1 x)- (p "init" "beta" z-1 l)- (p "init" "eta" z-1 (mul y w))- (prec z 3 z-1 3) (prec z-1 2 z 2)- (prec z-1 4 z 4) (ugen x)- (uniq-at na z-1 2))))))---(defgoal dhcr-um- (forall- ((z zl strd) (na nb data) (a b name) (priv-stor locn) (l x rndx)- (eta beta expt))- (implies- (and- (p "init" z 4)- (p "init" "na" z na)- (p "init" "nb" z nb) - (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "priv-stor" z priv-stor)- (p "init" "l" z l)- (p "init" "x" z x)- (p "init" "beta" z beta) - (p "init" "eta" z eta)- (non (privk "sig" b))- (ugen x)- (uniq-at na z 2)- (fact neq a b)- (fact undisclosed l)- (fact undisclosed beta)- ;; ... gets the secrecy we need- (p "" zl 2)- (p "" "x" zl - (kcfa l (exp (gen) beta)- x (exp (gen) eta))))- (false))))--(comment-;;; comment these out for brevity in the tst suite run. Be sure to-;;; test them periodically, though.--;;; Forward secrecy -- (defgoal dhcr-um- (forall- ((na nb data) (a b self self-0 name)- (ltxa ltxb x rndx)- (y expt) (z z-0 z-1 z-2 strd))- (implies- (and (p "init" z 5)- (p "" z-0 2)- (p "ltx-disclose" z-1 3)- (p "ltx-disclose" z-2 3)-- (p "init" "na" z na)- (p "init" "nb" z nb)- (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "l" z ltxa)- (p "init" "x" z x)- (p "init" "beta" z ltxb)- (p "init" "eta" z y)- - (p "" "x" z-0- (hash (exp (gen) (mul ltxa ltxb))- (exp (gen) (mul x y))))- - (p "ltx-disclose" "self" z-1 self)- (p "ltx-disclose" "l" z-1 ltxa)- (p "ltx-disclose" "self" z-2 self-0)- (p "ltx-disclose" "l" z-2 ltxb)- (ugen x)- (uniq-at na z 2)- (prec z 4 z-1 0)- (prec z 4 z-2 0))- (false))))--- (defgoal dhcr-um- (forall- ((na nb data) (a b self self-0 name)- (ltxa ltxb y rndx)- (chi expt) (z z-0 z-1 z-2 strd))- (implies- (and- (p "resp" z 6)- (p "" z-0 2)- (p "ltx-disclose" z-1 3) - (p "ltx-disclose" z-2 3)- - (p "resp" "na" z na)- (p "resp" "nb" z nb)- (p "resp" "a" z a)- (p "resp" "b" z b)- (p "resp" "l" z ltxa)- (p "resp" "y" z y)- (p "resp" "alpha" z ltxb)- (p "resp" "chi" z chi)-- (p "" "x" z-0- (hash (exp (gen) (mul ltxa ltxb))- (exp (gen) (mul y chi))))- - (p "ltx-disclose" "self" z-1 self) - (p "ltx-disclose" "l" z-1 ltxa)- (p "ltx-disclose" "self" z-2 self-0) - (p "ltx-disclose" "l" z-2 ltxb)- (prec z 5 z-1 0)- (prec z 5 z-2 0)- (ugen y) (uniq-at nb z 3))- (false)))))
− tst/dhcr_um_implicit_auth.scm
@@ -1,162 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the standard version, in which the two-;;; ephemeral are mixed, as are the two static exponents.--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; This file considers a single goal statement. It asserts the-;;; implicit authentication claim, namely that if *anyone* shares a-;;; key with me, then that party and I agree on each others'-;;; identities and long term values. This assumes that the values-;;; remain undisclosed.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) original"- (bound 30)- (limit 4000)- (goals-sat)- (algebra diffie-hellman))--(defmacro (kcfa l gb x gy)- (hash (exp gb l) (exp gy x)))--(defmacro (kcfb l ga y gx)- (hash (exp ga l) (exp gx y)))--(defprotocol dhcr-um diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))--;; Implicit authentication--(defgoal dhcr-um- (forall- ((zi zr strd) (ltxa ltxb x y rndx) (eta chi beta alpha expt)- (a b a-0 b-0 name))- (implies- (and- (p "init" zi 4)- (p "init" "l" zi ltxa)- (p "init" "beta" zi beta)- (p "init" "x" zi x)- (p "init" "eta" zi eta)- (p "init" "a" zi a)- (p "init" "b" zi b-0)- - (p "resp" zr 4)- (p "resp" "l" zr ltxb)- (p "resp" "alpha" zr alpha)- (p "resp" "y" zr y)- (p "resp" "chi" zr chi) - (p "resp" "a" zr a-0)- (p "resp" "b" zr b)- (fact eq- (kcfa ltxa (exp (gen) beta)- x (exp (gen) eta))- (kcfb ltxb (exp (gen) alpha)- y (exp (gen) chi)))- (non (privk "sig" b))- (non (privk "sig" a))- (fact neq ltxa ltxb)- (fact undisclosed ltxa)- (fact undisclosed beta)- (fact undisclosed ltxb)- (fact undisclosed alpha))- (and- (= a-0 a)- (= b-0 b)- (= beta ltxb)- (= alpha ltxa)))))---
− tst/dhcr_umx.scm
@@ -1,281 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the criss-crossed version, in which each-;;; ephemeral is mixed with the peer's static exponent. Only the key-;;; derivation macros differ from the version in dhcr_um.scm--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; A sequence of queries are analyzed. Four show what happens given-;;; an initiator run, depnding which long term values are exposed.-;;; Then four ask the corresponding questions about the responder. In-;;; each group of four, we first assume neither long term exponent is-;;; exposed, then consider each exposure individually, and then both-;;; exposed.--;;; Then we consider the forward secrecy question, first from the-;;; initiator's point of view, and then from the responder's.--;;; The UMX key derivation fails to achieve forward secrecy. Its-;;; strength relative to the standard UM key derivation a-;;; participant's *own* long term value may be exposed without an-;;; adversary being able to acquire a key shared with them for any-;;; claimed peer. A fine point that the analysis exposes is that this-;;; is true when the peer has had only one long key generated. Other-;;; disclosed long terms keys yield counterxamples. If my peer's long-;;; term value is exposed of course anyone can impersonate them.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) with criss-cross key derivation"- (bound 30)- (limit 8000)- (algebra diffie-hellman))--(defmacro (kcfa ltxa gbeta x hy)- (hash (exp hy ltxa) (exp gbeta x)))--(defmacro (kcfb ltxb galpha y hx)- (hash (exp galpha y) (exp hx ltxb)))--(defprotocol dhcr-umx diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule ltx-gen-once-inference- (forall- ((z1 z2 strd) (self name))- (implies- (and- (fact ltx-gen-once self)- (p "ltx-gen" z1 2)- (p "ltx-gen" "self" z1 self)- (p "ltx-gen" z2 2)- (p "ltx-gen" "self" z2 self))- (= z1 z2))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))- --; Initiator point of view: both LTX exponents secret-(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))----; Initiator point of view: peer exponent secret-(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l)- (undisclosed l-peer)))--;;; Initiator point of view: peer exponent secret,-;;; my key generated only once-(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- (ltx-gen-once a)- ;; (undisclosed l)- (undisclosed l-peer)))---;; Initiator point of view: my exponent secret-(defskeleton dhcr-umx- (vars (a b name) (l rndx) (l-peer expt))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- (undisclosed l)))--(comment-;;; comment this out for brevity in the tst suite run.-;;; Be sure to test it periodically, though. --; Initiator point of view: neither exponent secret--(defskeleton dhcr-umx- (vars (a b name) (l rndx) (l-peer expt))- (defstrand init 4 (a a) (b b) (l l) (beta l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l-peer)- ;; (undisclosed l)- )))---;;; Responder cases--(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l) - (undisclosed l-peer)))--(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- (ltx-gen-once b)- ;; (undisclosed l)- (undisclosed l-peer)))--(defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- (undisclosed l)- ;; (undisclosed l-peer)- ))---(comment-;;; comment this out for brevity in the tst suite run.-;;; Be sure to test it periodically, though. --- (defskeleton dhcr-umx- (vars (a b name) (l l-peer rndx))- (defstrand resp 5 (a a) (b b) (l l) (alpha l-peer))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)- ;; (undisclosed l)- ;; (undisclosed l-peer)- )))--;; Forward secrecy for each participant --(comment-;;; These forward secrecy queries are commented out because they take-;;; a long time to run (10 minutes plus). They're not suitable for-;;; the regular test suite for this reason.--;;; They should however be checked from time to time. -- (defskeleton dhcr-umx- (vars (ltxa ltxb x rndx) (y expt) (a b name))- (defstrand init 5 (l ltxa) (beta ltxb) (x x) (eta y) (a a) (b b))- (deflistener (kcfa ltxa (exp (gen) ltxb) x (exp (gen) y)))- (defstrand ltx-disclose 3 (l ltxa))- (defstrand ltx-disclose 3 (l ltxb))- (precedes ((0 4) (3 0)) ((0 4) (2 0)))- (non-orig (privk "sig" a) (privk "sig" b))- (facts (neq a b)))-- (defskeleton dhcr-umx- (vars (ltxa ltxb y rndx) (chi expt) (a b name))- (defstrand resp 6 (l ltxa) (alpha ltxb) (y y) (chi chi) (a a) (b b))- (deflistener (kcfb ltxb (exp (gen) ltxa) y (exp (gen) chi)))- (defstrand ltx-disclose 3 (l ltxa))- (defstrand ltx-disclose 3 (l ltxb))- (precedes ((0 5) (3 0)) ((0 5) (2 0)))- (facts (neq a b))))-
− tst/dhcr_umx.tst
file too large to diff
− tst/dhcr_umx_goals.scm
@@ -1,209 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the criss-crossed version, in which each-;;; ephemeral is mixed with the peer's static exponent. Only the key-;;; derivation macros differ from the version in dhcr_um.scm--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; A sequence of queries are analyzed. Four show what happens given-;;; an initiator run, depnding which long term values are exposed.-;;; Then four ask the corresponding questions about the responder. In-;;; each group of four, we first assume neither long term exponent is-;;; exposed, then consider each exposure individually, and then both-;;; exposed.--;;; Then we consider the forward secrecy question, first from the-;;; initiator's point of view, and then from the responder's.--;;; The UMX key derivation fails to achieve forward secrecy. Its-;;; strength relative to the standard UM key derivation a-;;; participant's *own* long term value may be exposed without an-;;; adversary being able to acquire a key shared with them for any-;;; claimed peer. A fine point that the analysis exposes is that this-;;; is true when the peer has had only one long key generated. Other-;;; disclosed long terms keys yield counterxamples. If my peer's long-;;; term value is exposed of course anyone can impersonate them.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) with criss-cross key derivation"- (bound 30)- (limit 16000) - (goals-sat)- (algebra diffie-hellman))--(defmacro (kcfa ltxa gbeta x hy)- (hash (exp hy ltxa) (exp gbeta x)))--(defmacro (kcfb ltxb galpha y hx)- (hash (exp galpha y) (exp hx ltxb)))--(defprotocol dhcr-umx diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule ltx-gen-once-inference- (forall- ((z1 z2 strd) (self name))- (implies- (and- (fact ltx-gen-once self)- (p "ltx-gen" z1 2)- (p "ltx-gen" "self" z1 self)- (p "ltx-gen" z2 2)- (p "ltx-gen" "self" z2 self))- (= z1 z2))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))--(defgoal dhcr-umx- (forall- ((na nb data) (a b name) (l l-peer x rndx)- (eta expt) (z strd))- (implies- (and- (p "init" z 4)- (p "init" "na" z na)- (p "init" "nb" z nb) - (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "l" z l)- (p "init" "x" z x)- (p "init" "beta" z l-peer) - (p "init" "eta" z eta)- - (non (privk "sig" b))- (ugen x)- (uniq-at na z 2)- (fact neq a b)- ;; skip the ltx-gen-once assumption - ;; (fact ltx-gen-once a)- (fact undisclosed l-peer))- ;; and still get the authentication we need - (exists- ((z-1 strd) (y rndx) (w expt))- (and- (p "resp" z-1 4) - (p "resp" "na" z-1 na)- (p "resp" "nb" z-1 nb) (p "resp" "a" z-1 a)- (p "resp" "b" z-1 b) - (prec z 2 z-1 2))))))--(defgoal dhcr-umx- (forall- ((z zl strd) (na nb data) (a b name) (l x rndx)- (eta beta expt))- (implies- (and- (p "init" z 4)- (p "init" "na" z na)- (p "init" "nb" z nb) - (p "init" "a" z a)- (p "init" "b" z b)- (p "init" "l" z l)- (p "init" "x" z x)- (p "init" "beta" z beta) - (p "init" "eta" z eta)- (non (privk "sig" b))- (ugen x)- (uniq-at na z 2)- (fact neq a b)- ;; skip the ltx-gen-once assumption - ;; (fact ltx-gen-once a)- (fact undisclosed beta)- ;; and still get the secrecy we need- (p "" zl 2)- (p "" "x" zl - (kcfa l (exp (gen) beta)- x (exp (gen) eta))))- (false))))--;;; Forward secrecy doesn't hold, so let's not try to prove that -
− tst/dhcr_umx_implicit_auth.scm
@@ -1,160 +0,0 @@-;;; Unified Model This version used in the paper, tooldev/dh/conf_dh/dh_ebn.tex--;;; This file models the "Unified Model" method of determining a fresh-;;; key from long-term and ephemeral Diffie-Hellman exponents. We use-;;; self-signed certificates to link names to long-term public values.--;;; This file contains the criss-crossed version, in which the each-;;; ephemeral is mixed with the peer's static exponent. Only the key-;;; derivation macros differ from the version in dhcr_um.scm--;;; A role is provided to expose the long term exponent. The latter-;;; step is used to test the notion of forward security, assuming that-;;; it happens *after* the session which agrees the key in question. --;;; This file considers a single goal statement. It asserts the-;;; implicit authentication claim, namely that if *anyone* shares a-;;; key with me, then that party and I agree on each others'-;;; identities and long term values. This assumes that the values-;;; remain undisclosed.--;;; CPSA4 revisions:-;;;-;;; 1. Self certify my public value in ltx-gen,-;;; and assume signing keys non.-;;; 2. Deposit private value in state and retrieve-;;; it at the beginning of each init or resp run.-;;; 3. Discard the private value from state before-;;; disclosing it, when testing forward secrecy.--(herald "DHCR: unified model (UM) with criss-cross key derivation"- (bound 30)- (limit 4000)- (algebra diffie-hellman))--(defmacro (kcfa ltxa gbeta x hy)- (hash (exp hy ltxa) (exp gbeta x)))--(defmacro (kcfb ltxb galpha y hx)- (hash (exp galpha y) (exp hx ltxb)))--(defprotocol dhcr-umx diffie-hellman- (defrole init- (vars (l x rndx) (beta eta expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv a l))- (recv (sig (body b (exp (gen) beta) (pubk "sig" b))- (privk "sig" b)))- (send (cat na a b (exp (gen) x)))- (recv (cat (exp (gen) eta)- (enc na nb a b- (kcfa l (exp (gen) beta)- x (exp (gen) eta)))))- (send nb)- )- (uniq-gen x)- (uniq-orig na)- (facts (neq a b))- ;; (facts (neq (exp (gen) eta) (gen)))- (gen-st (pv a l)))-- (defrole resp- (vars (l y rndx) (alpha chi expt) (a b name) (na nb data) (priv-stor locn))- (trace- (load priv-stor (pv b l))- (recv (sig (body a (exp (gen) alpha) (pubk "sig" a))- (privk "sig" a)))- (recv (cat na a b (exp (gen) chi)))- (send (cat (exp (gen) y)- (enc na nb a b- (kcfb l (exp (gen) alpha)- y (exp (gen) chi)))))- (recv nb)- (send "done")- )- (uniq-gen y)- (uniq-orig nb)- (facts (neq a b))- ;; (facts (neq (exp (gen) chi) (gen)))- (gen-st (pv b l)))-- (defrole ltx-gen- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor ignore)- (stor priv-stor (pv self l))- (send (sig (body self (exp (gen) l) (pubk "sig" self))- (privk "sig" self))))- (uniq-orig l))-- (defrole ltx-disclose- (vars (self name) (l rndx)- (priv-stor locn) (ignore mesg))- (trace- (load priv-stor (pv self l))- (stor priv-stor "nil")- (send l))- (gen-st (pv self l)))-- (defrule undisclosed-not-disclosed- (forall- ((z strd) (l rndx))- (implies- (and (fact undisclosed l)- (p "ltx-disclose" z 2)- (p "ltx-disclose" "l" z l))- (false))))-- (defrule eq-means-=- (forall- ((v1 v2 mesg))- (implies- (fact eq v1 v2)- (= v1 v2))))-- (lang (sig sign)- (body (tuple 3))- (pv (tuple 2))))- -;; Implicit authentication--(defgoal dhcr-umx- (forall- ((zi zr strd) (ltxa ltxb x y rndx) (eta chi beta alpha expt)- (a b a-0 b-0 name))- (implies- (and- (p "init" zi 4)- (p "init" "l" zi ltxa)- (p "init" "beta" zi beta)- (p "init" "x" zi x)- (p "init" "eta" zi eta)- (p "init" "a" zi a)- (p "init" "b" zi b-0)- - (p "resp" zr 4)- (p "resp" "l" zr ltxb)- (p "resp" "alpha" zr alpha)- (p "resp" "y" zr y)- (p "resp" "chi" zr chi) - (p "resp" "a" zr a-0)- (p "resp" "b" zr b)- (fact eq- (kcfa ltxa (exp (gen) beta)- x (exp (gen) eta))- (kcfb ltxb (exp (gen) alpha)- y (exp (gen) chi)))- (non (privk "sig" b))- (non (privk "sig" a))- (fact neq ltxa ltxb)- (fact undisclosed ltxa)- (fact undisclosed beta)- (fact undisclosed ltxb)- (fact undisclosed alpha))- (and- (= a-0 a)- (= b-0 b)- (= beta ltxb)- (= alpha ltxa)))))-
tst/dhstatic-state.tst view
@@ -67,14 +67,14 @@ (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+ (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 invShearsRule+ (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)@@ -96,6 +96,16 @@ (defgenrule trRl_get-cert-at-2 (forall ((z strd)) (implies (p "get-cert" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-init-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "init" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "init" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-resp-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "resp" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "resp" z (idx 1)) (prec z (idx 0) z1 i)))))) (defgenrule gen-st-init-0 (forall ((z strd) (a name) (ra rndx) (serial-a data) (ca name)) (implies@@ -166,8 +176,7 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (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)@@ -202,8 +211,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -243,8 +250,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -288,8 +293,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -340,8 +343,7 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-resp-neq0 gen-st-resp-0 trRl_get-cert-at-2- trRl_get-cert-at-3)+ (rule gen-st-resp-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)@@ -393,8 +395,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -446,7 +446,7 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (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)@@ -515,7 +515,7 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -575,8 +575,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -626,8 +624,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -684,7 +680,6 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -753,7 +748,6 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -822,7 +816,6 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -886,8 +879,7 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a self) (neq self a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 4 7 get-cert 4) ra-0 (6 0)) (strand-map 0 1 2 3 6 4 5) (traces@@ -941,8 +933,6 @@ (gen-st (cat "privkey" a ra-0 serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (operation nonce-test (displaced 7 1 get-cert 4) ra-0 (6 0)) (strand-map 0 1 2 3 4 5 6) (traces@@ -999,7 +989,6 @@ (cat "privkey" a ra serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 8 6 get-cert 4) ra-1 (7 0)) (strand-map 0 1 2 3 4 5 6 7) (traces@@ -1068,7 +1057,7 @@ (cat "privkey" self ra-0 serial-b ca)) (facts (neq a self) (neq self a)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 4 8 get-cert 4) ra-1 (7 0)) (strand-map 0 1 2 3 7 4 5 6) (traces@@ -1145,7 +1134,6 @@ (cat "privkey" a ra-1 serial-a ca)) (facts (neq a b) (neq b a)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 8 1 get-cert 4) ra-1 (7 0)) (strand-map 0 1 2 3 4 5 6 7) (traces@@ -1208,8 +1196,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a self) (neq self a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -1269,8 +1255,6 @@ (gen-st (cat "privkey" a ra serial-a ca)) (facts (neq a self) (neq self a)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -1337,7 +1321,6 @@ (cat "privkey" self ra-0 serial-b ca)) (facts (neq a self) (neq self a)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation encryption-test (displaced 8 3 cert 2) (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0)) (7 1))@@ -1420,7 +1403,6 @@ (cat "privkey" self ra-0 serial-b ca)) (facts (neq a self) (neq self a)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation encryption-test (added-strand cert 2) (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0)) (7 1))@@ -1540,14 +1522,14 @@ (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+ (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 invShearsRule+ (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)@@ -1569,6 +1551,16 @@ (defgenrule trRl_get-cert-at-2 (forall ((z strd)) (implies (p "get-cert" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-init-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "init" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "init" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-resp-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "resp" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "resp" z (idx 1)) (prec z (idx 0) z1 i)))))) (defgenrule gen-st-init-0 (forall ((z strd) (a name) (ra rndx) (serial-a data) (ca name)) (implies@@ -1636,8 +1628,7 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (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)@@ -1672,8 +1663,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -1713,8 +1702,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -1758,8 +1745,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -1809,8 +1794,7 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-resp-neq0 gen-st-resp-0 trRl_get-cert-at-2- trRl_get-cert-at-3)+ (rule gen-st-resp-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)@@ -1861,8 +1845,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -1914,7 +1896,7 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (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)@@ -1982,7 +1964,7 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -2041,8 +2023,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -2092,8 +2072,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -2150,7 +2128,6 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -2218,7 +2195,6 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -2286,7 +2262,6 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (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))@@ -2349,8 +2324,7 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b self) (neq self b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 4 7 get-cert 4) ra-0 (6 0)) (strand-map 0 1 2 3 6 4 5) (traces@@ -2404,8 +2378,6 @@ (gen-st (cat "privkey" b ra-0 serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (operation nonce-test (displaced 7 1 get-cert 4) ra-0 (6 0)) (strand-map 0 1 2 3 4 5 6) (traces@@ -2461,7 +2433,6 @@ (cat "privkey" b ra serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 8 6 get-cert 4) ra-1 (7 0)) (strand-map 0 1 2 3 4 5 6 7) (traces@@ -2530,7 +2501,7 @@ (cat "privkey" self ra-0 serial-a ca)) (facts (neq b self) (neq self b)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3)+ (rule trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 4 8 get-cert 4) ra-1 (7 0)) (strand-map 0 1 2 3 7 4 5 6) (traces@@ -2605,7 +2576,6 @@ (cat "privkey" b ra-1 serial-b ca)) (facts (neq b a) (neq a b)) (leads-to ((1 3) (0 0)) ((6 3) (5 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation nonce-test (displaced 8 1 get-cert 4) ra-1 (7 0)) (strand-map 0 1 2 3 4 5 6 7) (traces@@ -2667,8 +2637,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b self) (neq self b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -2728,8 +2696,6 @@ (gen-st (cat "privkey" b ra serial-b ca)) (facts (neq b self) (neq self b)) (leads-to ((1 3) (0 0)))- (rule fact-init-neq0 fact-resp-neq0 trRl_get-cert-at-2- trRl_get-cert-at-3) (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)@@ -2797,7 +2763,6 @@ (cat "privkey" self ra-0 serial-a ca)) (facts (neq b self) (neq self b)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation encryption-test (displaced 8 3 cert 2) (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0)) (7 1))@@ -2880,7 +2845,6 @@ (cat "privkey" self ra-0 serial-a ca)) (facts (neq b self) (neq self b)) (leads-to ((1 3) (0 0)) ((5 3) (4 0)))- (rule fact-resp-neq0 trRl_get-cert-at-2 trRl_get-cert-at-3) (operation encryption-test (added-strand cert 2) (sig (cert self (exp (gen) ra-1) ca-0 serial) (privk "sig" ca-0)) (7 1))
tst/dy.tst view
file too large to diff
tst/epmo_acctnum.tst view
@@ -1958,7 +1958,7 @@ (seen-ops (45 (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 5 4)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -3523,7 +3523,7 @@ (seen-ops (74 (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 6 5)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -6490,7 +6490,7 @@ (seen-ops (124 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -7453,7 +7453,7 @@ (seen-ops (137 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -8608,7 +8608,7 @@ (seen-ops (154 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -9612,7 +9612,7 @@ (seen-ops (167 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen"))
tst/fragile_pruning.tst view
@@ -456,7 +456,7 @@ (seen-ops (21 (operation nonce-test (displaced 4 2 adder 2) n (3 0) (enc n k)- (enc n new k)) (strand-map 0 1 3 2)))+ (enc n new k)) (strand-map 0 1 2 3))) (unrealized (3 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1071,7 +1071,7 @@ (seen-ops (45 (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)- (enc n new k)) (strand-map 0 1 2 4 3)))+ (enc n new k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1162,7 +1162,7 @@ (seen-ops (48 (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 4 3)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1249,7 +1249,7 @@ (seen-ops (51 (operation nonce-test (displaced 5 3 adder 2) n (4 0) (enc n k)- (enc n new k)) (strand-map 0 1 2 4 3)))+ (enc n new k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1340,7 +1340,7 @@ (seen-ops (54 (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 4 3)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1599,7 +1599,7 @@ (seen-ops (63 (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 4 3)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1689,7 +1689,7 @@ (seen-ops (66 (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 4 3)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1982,7 +1982,7 @@ (seen-ops (77 (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 4 3)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -2196,7 +2196,7 @@ (seen-ops (84 (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 4 3)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4))) (unrealized (4 0)) (comment "3 in cohort - 2 not yet seen")) @@ -2413,7 +2413,7 @@ (seen-ops (91 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k)- (enc n new k)) (strand-map 0 1 2 3 5 4)))+ (enc n new k)) (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "4 in cohort - 3 not yet seen")) @@ -2548,7 +2548,7 @@ (seen-ops (94 (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 5 4)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -2648,7 +2648,7 @@ (seen-ops (97 (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 5 4)))+ (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -2931,7 +2931,7 @@ (seen-ops (106 (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 5 4)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -3032,7 +3032,7 @@ (seen-ops (109 (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 5 4)))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -3136,7 +3136,7 @@ (112 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k) (enc n new k) (enc n new-0 k) (enc n new-1 k))- (strand-map 0 1 2 3 5 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -3480,7 +3480,7 @@ (seen-ops (126 (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 5 4)))+ (enc n new k) (enc n new-1 k)) (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -3515,7 +3515,7 @@ (seen-ops (125 (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 5 4))+ (enc n new k) (enc n new-0 k)) (strand-map 0 1 2 3 4 5)) (150 (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)))@@ -3694,7 +3694,7 @@ (130 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k) (enc n new k) (enc n new-0 k) (enc n new-1 k))- (strand-map 0 1 2 3 5 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -3829,7 +3829,7 @@ (134 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k) (enc n new k) (enc n new-0 k) (enc n new-1 k))- (strand-map 0 1 2 3 5 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -4033,7 +4033,7 @@ (140 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k) (enc n new k) (enc n new-0 k) (enc n new-1 k))- (strand-map 0 1 2 3 5 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -4169,7 +4169,7 @@ (144 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k) (enc n new k) (enc n new-0 k) (enc n new-1 k))- (strand-map 0 1 2 3 5 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen")) @@ -4479,7 +4479,7 @@ (154 (operation nonce-test (displaced 6 4 adder 2) n (5 0) (enc n k) (enc n new k) (enc n new-0 k) (enc n new-1 k))- (strand-map 0 1 2 3 5 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (5 0)) (comment "3 in cohort - 2 not yet seen"))
tst/locn_envelope.tst view
@@ -94,14 +94,14 @@ (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+ (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 invShearsRule+ (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)@@ -118,7 +118,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))@@ -399,7 +409,6 @@ (conf tpm) (auth tpm) (leads-to ((4 2) (3 2)) ((5 2) (4 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -515,14 +524,14 @@ (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+ (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 invShearsRule+ (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)@@ -539,7 +548,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))@@ -851,7 +870,6 @@ (conf tpm) (auth tpm) (leads-to ((4 2) (3 1)) ((5 2) (4 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -979,14 +997,14 @@ (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+ (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 invShearsRule+ (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)@@ -1003,7 +1021,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))@@ -1359,7 +1387,6 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -1422,8 +1449,7 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)))- (rule genStV-if-hashed-tpm-quote trRl_tpm-extend-enc-at-1- trRl_tpm-extend-enc-at-2)+ (rule genStV-if-hashed-tpm-quote) (operation encryption-test (added-strand tpm-quote 3) (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik) (0 0))@@ -1649,7 +1675,6 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -1797,14 +1822,14 @@ (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+ (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 invShearsRule+ (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)@@ -1821,7 +1846,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope-plus (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))@@ -2102,7 +2137,6 @@ (conf tpm) (auth tpm) (leads-to ((4 2) (3 2)) ((5 2) (4 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -2229,14 +2263,14 @@ (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+ (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 invShearsRule+ (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)@@ -2253,7 +2287,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope-plus (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))@@ -2565,7 +2609,6 @@ (conf tpm) (auth tpm) (leads-to ((4 2) (3 1)) ((5 2) (4 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -2704,14 +2747,14 @@ (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+ (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 invShearsRule+ (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)@@ -2728,7 +2771,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope-plus (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))@@ -3084,7 +3137,6 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -3147,8 +3199,7 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)))- (rule genStV-if-hashed-tpm-quote trRl_tpm-extend-enc-at-1- trRl_tpm-extend-enc-at-2)+ (rule genStV-if-hashed-tpm-quote) (operation encryption-test (added-strand tpm-quote 3) (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik) (0 0))@@ -3374,7 +3425,6 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -3521,14 +3571,14 @@ (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+ (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 invShearsRule+ (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)@@ -3545,7 +3595,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope-plus-2 (vars (v n data) (pcr-id text) (k aik akey) (tpm chan))@@ -3826,7 +3886,6 @@ (conf tpm) (auth tpm) (leads-to ((4 2) (3 2)) ((5 2) (4 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -3952,14 +4011,14 @@ (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+ (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 invShearsRule+ (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)@@ -3976,7 +4035,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope-plus-2 (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))@@ -4288,7 +4357,6 @@ (conf tpm) (auth tpm) (leads-to ((4 2) (3 1)) ((5 2) (4 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -4426,14 +4494,14 @@ (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+ (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 invShearsRule+ (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)@@ -4450,7 +4518,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 3)) (trans z (idx 1)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope-plus-2 (vars (n v data) (pcr-id pcr-id-0 text) (k aik akey) (tpm chan))@@ -4806,7 +4884,6 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)))- (rule trRl_tpm-extend-enc-at-1 trRl_tpm-extend-enc-at-2) (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)@@ -4869,8 +4946,7 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)))- (rule genStV-if-hashed-tpm-quote trRl_tpm-extend-enc-at-1- trRl_tpm-extend-enc-at-2)+ (rule genStV-if-hashed-tpm-quote) (operation encryption-test (added-strand tpm-quote 3) (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik) (0 0))@@ -5096,8 +5172,7 @@ (conf tpm) (auth tpm) (leads-to ((5 2) (4 2)) ((6 2) (5 1)) ((8 2) (7 1)) ((9 2) (8 1)))- (rule pcr-id-identifies-pcr trRl_tpm-extend-enc-at-1- trRl_tpm-extend-enc-at-2)+ (rule pcr-id-identifies-pcr) (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)))
tst/nonaug-prune.tst view
@@ -55,7 +55,7 @@ (seen-ops (2 (operation nonce-test (added-strand trans2 2) n (1 2) (enc n B k)- (enc n B B k)) (strand-map 1 2)))+ (enc n B B k)) (strand-map 0 1))) (unrealized (0 0) (1 2)) (comment "3 in cohort - 2 not yet seen")) @@ -276,7 +276,7 @@ (seen-ops (16 (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 2 3)))+ (enc n n C k) (enc n B B k)) (strand-map 0 1 2))) (unrealized (0 0) (1 2)) (origs (n (1 0))) (comment "3 in cohort - 2 not yet seen"))@@ -413,7 +413,7 @@ (seen-ops (14 (operation nonce-test (contracted (B A)) n (0 0) (enc n A k)- (enc n A A k)) (strand-map 1 0 2)))+ (enc n A A k)) (strand-map 0 1 2))) (unrealized (0 0)) (origs (n (2 0))) (comment "3 in cohort - 2 not yet seen"))@@ -593,7 +593,7 @@ (seen-ops (31 (operation nonce-test (displaced 4 1 trans2 2) n (0 0) (enc n A k)- (enc n B B k)) (strand-map 0 3 2 1)))+ (enc n B B k)) (strand-map 0 1 2 3))) (unrealized (0 0)) (comment "4 in cohort - 3 not yet seen")) @@ -640,7 +640,7 @@ (parent 22) (seen 14) (seen-ops- (14 (operation generalization deleted (3 0)) (strand-map 1 0 2)))+ (14 (operation generalization deleted (3 0)) (strand-map 0 1 2))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -686,7 +686,7 @@ (seen 14) (seen-ops (14 (operation generalization weakened ((1 1) (0 0)))- (strand-map 1 0 2)))+ (strand-map 0 1 2))) (realized) (origs (n (2 0))) (comment "1 in cohort - 0 not yet seen"))@@ -825,7 +825,7 @@ (parent 31) (seen 14) (seen-ops- (14 (operation generalization deleted (3 0)) (strand-map 1 0 2)))+ (14 (operation generalization deleted (3 0)) (strand-map 0 1 2))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/ns-rebinding.tst view
@@ -74,7 +74,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1 (0 1) (enc n1 a (pubk b))) (strand-map 0)@@ -95,7 +94,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)@@ -184,7 +182,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2) (rel n1 n1))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1 (0 1) (enc n1 a (pubk b))) (strand-map 0)@@ -205,7 +202,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2) (rel n1 n1))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)@@ -293,7 +289,6 @@ (non-orig (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1 (0 1) (enc n1 a (pubk b))) (strand-map 0)@@ -402,7 +397,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1 (1 0) (enc n1 a (pubk b))) (strand-map 0 1)@@ -424,7 +418,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n2) (facts (rel2 x n2) (rel1 n2 n2) (rel2 n2 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)@@ -448,7 +441,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n2) (facts (rel2 x n2) (rel1 n2 n2) (rel2 n2 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)@@ -536,12 +528,11 @@ (comment "1 in cohort - 1 not yet seen")) (defskeleton ns- (vars (x name) (n1 n2 text) (a b name))+ (vars (x x-0 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))- (rule fact-init-rel11 fact-init-rel20 rebind-x)+ (facts (rel2 x-0 n2) (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2)) (operation collapsed 1 0) (strand-map 0 0) (traces@@ -562,7 +553,6 @@ (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))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1-0 (1 1) (enc n1-0 a (pubk b))) (strand-map 0 1)@@ -578,14 +568,13 @@ (comment "1 in cohort - 1 not yet seen")) (defskeleton ns- (vars (x name) (n1 n2 n2-0 text) (a b name))+ (vars (x x-0 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))- (rule fact-init-rel11 fact-init-rel20 rebind-x)+ (facts (rel2 x-0 n2) (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2)) (operation nonce-test (added-strand resp 2) n1 (0 1) (enc n1 a (pubk b))) (strand-map 0)@@ -609,7 +598,6 @@ (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))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)@@ -625,14 +613,13 @@ (comment "1 in cohort - 1 not yet seen")) (defskeleton ns- (vars (x name) (n1 n2 text) (a b name))+ (vars (x x-0 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))- (rule fact-init-rel11 fact-init-rel20 rebind-x)+ (facts (rel2 x-0 n2) (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2)) (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)@@ -658,7 +645,6 @@ (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))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1 (0 1) (enc n1 a (pubk b))) (strand-map 0 1 2)@@ -685,7 +671,6 @@ (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))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)@@ -794,7 +779,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (operation nonce-test (added-strand resp 2) n1 (0 1) (enc n1 a (pubk b))) (strand-map 0)@@ -815,7 +799,6 @@ (non-orig (privk a) (privk b)) (uniq-orig n1) (facts (rel2 x n2) (rel1 n1 n2) (rel2 n1 n2))- (rule fact-init-rel11 fact-init-rel20 rebind-x) (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)
tst/open-closed-multiloc.tst view
@@ -80,14 +80,14 @@ (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+ (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 invShearsRule+ (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)@@ -117,15 +117,35 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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+ (defgenrule eff-dev-open-1 (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)))))))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (d o name) (start-ch chan))@@ -261,14 +281,14 @@ (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+ (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 invShearsRule+ (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)@@ -298,15 +318,35 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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+ (defgenrule eff-dev-open-1 (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)))))))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))@@ -440,14 +480,14 @@ (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+ (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 invShearsRule+ (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)@@ -477,15 +517,35 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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+ (defgenrule eff-dev-open-1 (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)))))))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)@@ -585,8 +645,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 4) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4) (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))@@ -617,8 +675,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 4) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4) (operation encryption-test (added-strand user-pass 1) (enc "may I pass" k) (1 1)) (strand-map 0 1 2)@@ -647,8 +703,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 4) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4) (operation encryption-test (added-listener k) (enc "may I pass" k) (1 1)) (strand-map 0 1 2)@@ -660,13 +714,8 @@ (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"))+ (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)@@ -685,8 +734,7 @@ (conf start-ch) (auth start-ch) (leads-to ((2 4) (1 0)) ((4 3) (1 2)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule trRl_dev-open-at-2 trRl_dev-open-at-3) (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)@@ -701,42 +749,38 @@ (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"))+ (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))+ (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))- (deflistener k)- (precedes ((0 0) (2 0)) ((2 4) (1 0)) ((2 4) (3 0)) ((3 1) (1 1)))+ (precedes ((0 0) (3 0)) ((2 1) (1 1)) ((3 4) (1 0)) ((3 4) (2 0))) (uniq-orig k n) (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (leads-to ((2 4) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4)- (operation nonce-test (displaced 4 2 dev-up 5) k (3 0)+ (leads-to ((3 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 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-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))) ((recv k) (send k)))+ (stor lk (cat pt-3 "st-k" d o k)))) (label 14) (parent 12)- (unrealized (0 1) (1 2) (3 0))+ (unrealized (0 1) (1 2) (2 0)) (dead) (comment "empty cohort")) @@ -758,11 +802,10 @@ (conf start-ch) (auth start-ch) (leads-to ((3 3) (1 2)) ((4 4) (1 0)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)- (0 1))- (strand-map 0 1 4 2 3)+ (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 encryption-test (added-strand dev-up 6) (enc "up" k) (0 1))+ (strand-map 0 1 3 4 2) (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)))@@ -801,8 +844,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 4) (1 0)) ((4 3) (1 2)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (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)))@@ -816,51 +857,46 @@ (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"))+ (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)+ (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 ls-0 lk-0 locn))+ (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) (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 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 4) (1 0)) ((2 4) (5 0)) ((3 0) (1 1))- ((4 3) (1 2)) ((5 1) (0 1)))+ (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))) (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)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 6 2 dev-up 5) k (5 0)+ (leads-to ((3 3) (1 2)) ((5 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 (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-3 "st-k" d o k)) (recv (enc "may I pass" 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)))- ((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)))+ ((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)))) (label 17) (parent 16)- (unrealized (5 0))+ (unrealized (4 0)) (dead) (comment "empty cohort"))
tst/open-closed-tag.tst view
@@ -82,14 +82,14 @@ (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+ (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 invShearsRule+ (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)@@ -118,7 +118,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (d o name) (start-ch chan))@@ -254,14 +274,14 @@ (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+ (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 invShearsRule+ (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)@@ -290,7 +310,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))@@ -429,14 +469,14 @@ (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+ (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 invShearsRule+ (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)@@ -465,7 +505,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)@@ -562,7 +622,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2) (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))@@ -593,7 +652,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2) (operation encryption-test (added-strand user-pass 1) (enc "may I pass" k) (1 1)) (strand-map 0 1 2)@@ -622,7 +680,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2) (operation encryption-test (added-listener k) (enc "may I pass" k) (1 1)) (strand-map 0 1 2)@@ -634,13 +691,8 @@ (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"))+ (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 o-0 name)@@ -658,8 +710,7 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2)+ (rule trRl_dev-open-at-2 trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4) (ch-msg ls (cat pt "st" d "opened")) (1 2)) (strand-map 0 1 2 3)@@ -674,41 +725,36 @@ (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"))+ (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))+ (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 "opened")) (conf start-ch) (auth start-ch)- (leads-to ((2 2) (1 0)))- (rule trRl_dev-up-at-1 trRl_dev-up-at-2)- (operation nonce-test (displaced 4 2 dev-up 3) k (3 0)+ (leads-to ((3 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 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 "opened"))- (send (enc "you may pass" n k)))+ (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) (comment "empty cohort")) @@ -730,11 +776,10 @@ (conf start-ch) (auth start-ch) (leads-to ((3 3) (1 2)) ((4 2) (1 0)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)- (0 1))- (strand-map 0 1 4 2 3)+ (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 encryption-test (added-strand dev-up 6) (enc "up" k) (0 1))+ (strand-map 0 1 3 4 2) (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"))@@ -773,8 +818,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-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)))@@ -788,50 +831,43 @@ (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"))+ (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 o-0 name)+ (vars (any old 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 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-0)- (lk lk-0) (ls ls))+ (defstrand dev-open 4 (any any) (k k-0) (n n-0) (d d) (o o-0) (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 "opened")) (conf start-ch) (auth start-ch)- (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2)- (operation nonce-test (displaced 6 2 dev-up 3) k (5 0)+ (leads-to ((3 3) (1 2)) ((5 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 (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 "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)))+ (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)))) (label 17) (parent 16)- (unrealized (5 0))+ (unrealized (4 0)) (dead) (comment "empty cohort")) @@ -915,14 +951,14 @@ (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+ (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 invShearsRule+ (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)@@ -951,7 +987,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (old old1 any mesg) (k k-0 skey) (n n-0 text) (d o name)@@ -1039,8 +1095,6 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (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)))@@ -1058,15 +1112,9 @@ (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"))+ (comment "2 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)@@ -1086,22 +1134,21 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule trRl_dev-open-at-2 trRl_dev-open-at-3 trRl_dev-up-at-1- trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation channel-test (displaced 5 4 dev-open 4)- (ch-msg ls (cat pt-6 "st" d "opened")) (1 2))+ (rule discreteBefore trRl_dev-open-at-2 trRl_dev-open-at-3)+ (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-0 "st-k" d o k)) (recv (enc "may I pass" k))- (load ls (cat pt-5 "st" d "opened"))+ ((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 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)))+ ((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-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"))))+ ((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 "opened")))) (label 21) (parent 20) (realized)@@ -1111,7 +1158,7 @@ ((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))))+ (origs (pt (4 3)) (pt-3 (2 4)) (pt-1 (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)@@ -1134,8 +1181,7 @@ (conf start-ch) (auth start-ch) (leads-to ((2 2) (1 0)) ((5 3) (1 2)))- (rule invShearsRule trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule discreteBefore trRl_dev-open-at-2 trRl_dev-open-at-3) (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)@@ -1156,11 +1202,14 @@ (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"))+ (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 3)) (pt-6 (4 3)) (pt-3 (2 4)) (pt-1 (2 2)) (n (1 3))+ (k (0 0)))) (comment "Nothing left to do")
tst/open-closed.tst view
@@ -88,14 +88,14 @@ (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+ (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 invShearsRule+ (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)@@ -124,7 +124,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (d o name) (start-ch chan))@@ -268,14 +288,14 @@ (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+ (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 invShearsRule+ (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)@@ -304,7 +324,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (n text) (d o name) (pt pt-0 pval) (lk ls locn))@@ -343,12 +383,12 @@ (precedes ((1 3) (0 2))) (uniq-orig n) (gen-st (cat "st" d o o))- (facts (ha 0 (idx 0) 0 (idx 0)) (ha 0 (idx 2) 0 (idx 2))- (ha 0 (idx 2) 1 (idx 2)) (ha 0 (idx 2) 1 (idx 3))+ (facts (ha 0 (idx 2) 1 (idx 2)) (ha 0 (idx 2) 1 (idx 3)) (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 2) 0 (idx 2)) (ha 1 (idx 2) 1 (idx 2)) (ha 1 (idx 2) 1 (idx 3)) (ha 1 (idx 3) 0 (idx 2)) (ha 1 (idx 3) 1 (idx 2))- (ha 1 (idx 3) 1 (idx 3)) (la 1 (idx 3) 0 (idx 2)))+ (ha 1 (idx 3) 1 (idx 3)) (la 1 (idx 3) 0 (idx 2))+ (ha 0 (idx 0) 0 (idx 0)) (ha 0 (idx 2) 0 (idx 2))) (leads-to ((1 3) (0 2))) (rule leadsto-la same-locn trRl_dev-open-at-2 trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4)@@ -453,14 +493,14 @@ (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+ (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 invShearsRule+ (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)@@ -489,7 +529,27 @@ (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))))))+ (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-dev-open-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-open" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-open" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-close-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-close" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-close" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-1+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 1)) (prec z (idx 0) z1 i))))))+ (defgenrule eff-dev-pass-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton open-closed (vars (k skey) (n text) (d o d-0 o-0 name) (pt pt-0 pval)@@ -559,9 +619,9 @@ (gen-st (cat "st" d-0 o-0 o-0)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 2) 1 (idx 2))- (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)))+ (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) 1 (idx 0)) (ha 1 (idx 2) 1 (idx 2))) (rule same-locn trRl_dev-up-at-1 trRl_dev-up-at-2) (operation nonce-test (added-strand dev-up 3) k (1 0) (ch-msg start-ch (cat "power-up" d o k)))@@ -589,14 +649,14 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))- (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))- (la 2 (idx 2) 1 (idx 0)))+ (facts (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 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) 1 (idx 0))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)))- (rule leadsto-la same-locn trRl_dev-up-at-1 trRl_dev-up-at-2)+ (rule leadsto-la same-locn) (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))@@ -625,14 +685,13 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))- (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))- (la 2 (idx 2) 1 (idx 0)))+ (facts (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 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) 1 (idx 0))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)))- (rule leadsto-la same-locn trRl_dev-up-at-1 trRl_dev-up-at-2) (operation encryption-test (added-strand user-pass 1) (enc "may I pass" k) (1 1)) (strand-map 0 1 2)@@ -659,14 +718,13 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))- (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))- (la 2 (idx 2) 1 (idx 0)))+ (facts (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 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) 1 (idx 0))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)))- (rule leadsto-la same-locn trRl_dev-up-at-1 trRl_dev-up-at-2) (operation encryption-test (added-listener k) (enc "may I pass" k) (1 1)) (strand-map 0 1 2)@@ -677,13 +735,8 @@ (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"))+ (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)@@ -700,20 +753,19 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 1 (idx 2) 4 (idx 2)) (ha 1 (idx 2) 4 (idx 3))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))- (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))+ (facts (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))- (la 2 (idx 2) 1 (idx 0)))+ (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 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) 1 (idx 0))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule leadsto-la same-locn trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2)+ (rule leadsto-la same-locn trRl_dev-open-at-2 trRl_dev-open-at-3) (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)@@ -727,13 +779,8 @@ (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"))+ (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)@@ -748,15 +795,15 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))+ (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))- (la 2 (idx 2) 1 (idx 0)))+ (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))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)))- (rule leadsto-la same-locn trRl_dev-up-at-1 trRl_dev-up-at-2)- (operation nonce-test (displaced 4 2 dev-up 3) k (3 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) (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))@@ -787,25 +834,24 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 4 (idx 1))- (ha 1 (idx 0) 4 (idx 2)) (ha 1 (idx 2) 1 (idx 2))+ (facts (ha 4 (idx 1) 4 (idx 1)) (ha 4 (idx 1) 4 (idx 2))+ (ha 4 (idx 2) 4 (idx 1)) (ha 4 (idx 2) 4 (idx 2))+ (ha 4 (idx 3) 4 (idx 3)) (ha 4 (idx 3) 4 (idx 4))+ (ha 4 (idx 4) 4 (idx 3)) (ha 4 (idx 4) 4 (idx 4)) (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)) (ha 4 (idx 1) 1 (idx 0))- (ha 4 (idx 1) 4 (idx 1)) (ha 4 (idx 1) 4 (idx 2))- (ha 4 (idx 2) 1 (idx 0)) (ha 4 (idx 2) 4 (idx 1))- (ha 4 (idx 2) 4 (idx 2)) (ha 4 (idx 3) 4 (idx 3))- (ha 4 (idx 3) 4 (idx 4)) (ha 4 (idx 4) 4 (idx 3))- (ha 4 (idx 4) 4 (idx 4)) (la 4 (idx 2) 1 (idx 0))- (la 3 (idx 3) 1 (idx 2)))+ (ha 3 (idx 3) 3 (idx 3)) (la 3 (idx 3) 1 (idx 2))+ (ha 1 (idx 0) 4 (idx 1)) (ha 1 (idx 0) 4 (idx 2))+ (ha 4 (idx 1) 1 (idx 0)) (ha 4 (idx 2) 1 (idx 0))+ (la 4 (idx 2) 1 (idx 0)) (ha 1 (idx 0) 1 (idx 0))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((3 3) (1 2)) ((4 2) (1 0)))- (rule leadsto-la same-locn trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation encryption-test (displaced 2 5 dev-up 6) (enc "up" k)- (0 1))- (strand-map 0 1 4 2 3)+ (rule power-deliver-once same-locn trRl_dev-up-at-1 trRl_dev-up-at-2+ trRl_dev-up-at-3 trRl_dev-up-at-4)+ (operation encryption-test (added-strand dev-up 6) (enc "up" k) (0 1))+ (strand-map 0 1 3 4 2) (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)))@@ -842,20 +888,18 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 1 (idx 2) 4 (idx 2)) (ha 1 (idx 2) 4 (idx 3))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))- (ha 2 (idx 2) 2 (idx 1)) (ha 2 (idx 2) 2 (idx 2))+ (facts (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))- (la 2 (idx 2) 1 (idx 0)))+ (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 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) 1 (idx 0))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule leadsto-la same-locn trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-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)))@@ -868,14 +912,8 @@ (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"))+ (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)@@ -894,21 +932,20 @@ (gen-st (cat "st" d o o)) (conf start-ch) (auth start-ch)- (facts (ha 1 (idx 0) 1 (idx 0)) (ha 1 (idx 0) 2 (idx 1))- (ha 1 (idx 0) 2 (idx 2)) (ha 1 (idx 2) 1 (idx 2))- (ha 1 (idx 2) 4 (idx 2)) (ha 1 (idx 2) 4 (idx 3))- (ha 2 (idx 1) 1 (idx 0)) (ha 2 (idx 1) 2 (idx 1))- (ha 2 (idx 1) 2 (idx 2)) (ha 2 (idx 2) 1 (idx 0))+ (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))- (la 2 (idx 2) 1 (idx 0)))+ (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))+ (ha 1 (idx 2) 1 (idx 2))) (leads-to ((2 2) (1 0)) ((4 3) (1 2)))- (rule leadsto-la same-locn trRl_dev-open-at-2 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2)- (operation nonce-test (displaced 6 2 dev-up 3) k (5 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) (traces ((send start-ch (cat "power-up" d o k)) (recv (enc "up" k)))
tst/ordered.tst view
@@ -43,13 +43,10 @@ (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b))) (label 1) (parent 0)- (seen 2)- (seen-ops- (2 (operation generalization weakened ((1 1) (0 0)))- (strand-map 0 1))) (realized)- (origs)- (comment "1 in cohort - 0 not yet seen"))+ (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))@@ -61,13 +58,10 @@ (traces ((recv (enc a k)) (send a)) ((recv (enc b k-0)) (send b))) (label 2) (parent 0)- (seen 1)- (seen-ops- (1 (operation generalization weakened ((0 1) (1 0)))- (strand-map 0 1))) (realized)- (origs)- (comment "1 in cohort - 0 not yet seen"))+ (shape)+ (maps ((0 1) ((a a) (b b) (k k) (k-0 k-0))))+ (origs)) (comment "Nothing left to do")
tst/pca.tst view
@@ -360,7 +360,7 @@ (parent 10) (seen 9) (seen-ops- (9 (operation generalization deleted (1 0)) (strand-map 0 3 2)))+ (9 (operation generalization deleted (1 0)) (strand-map 0 2 3))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -421,7 +421,7 @@ (parent 12) (seen 11) (seen-ops- (11 (operation generalization deleted (1 0)) (strand-map 0 4 2 3)))+ (11 (operation generalization deleted (1 0)) (strand-map 0 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -513,7 +513,7 @@ (parent 14) (seen 11) (seen-ops- (11 (operation generalization deleted (1 0)) (strand-map 0 3 4 2)))+ (11 (operation generalization deleted (1 0)) (strand-map 0 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -606,7 +606,7 @@ (parent 16) (seen 9) (seen-ops- (9 (operation generalization deleted (1 0)) (strand-map 0 3 2)))+ (9 (operation generalization deleted (1 0)) (strand-map 0 2 3))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -767,7 +767,7 @@ (parent 22) (seen 11) (seen-ops- (11 (operation generalization deleted (1 0)) (strand-map 0 3 4 2)))+ (11 (operation generalization deleted (1 0)) (strand-map 0 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/rule-order.tst view
@@ -46,10 +46,9 @@ (traces ((send (cat s t)))) (label 2) (parent 0)- (seen 1)- (seen-ops (1)) (realized)- (origs)- (comment "1 in cohort - 0 not yet seen"))+ (shape)+ (maps ((0) ((s s) (t t))))+ (origs)) (comment "Nothing left to do")
tst/sorted_epmo_acctnum.tst view
@@ -1970,7 +1970,7 @@ (seen-ops (45 (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 5 4)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -3477,7 +3477,7 @@ (seen-ops (72 (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 6 5)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -6245,7 +6245,7 @@ (seen-ops (118 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -7064,7 +7064,7 @@ (seen-ops (130 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -8222,7 +8222,7 @@ (seen-ops (146 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen")) @@ -9148,7 +9148,7 @@ (seen-ops (157 (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 7 6)))+ (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)) (comment "1 in cohort - 0 not yet seen"))
tst/subatomic-open-closed-test-genrule.scm view
@@ -29,7 +29,8 @@ (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))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (1 4)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -45,7 +46,8 @@ (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))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (1 3)) (gen-st (cat "st-k" d o k) (cat "st" d (cat o o))) (facts (same-dev ls lk))) (defrole dev-close@@ -53,7 +55,8 @@ (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))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (1 3)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -61,7 +64,8 @@ (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))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (0 1)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))
tst/subatomic-open-closed-test-genrule.tst view
@@ -13,7 +13,6 @@ (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)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -29,7 +28,6 @@ (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))) (facts (same-dev ls lk))) (defrole dev-close@@ -37,7 +35,6 @@ (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)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -45,7 +42,6 @@ (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)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))@@ -89,14 +85,14 @@ (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+ (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 invShearsRule+ (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)@@ -146,15 +142,15 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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)))@@ -167,6 +163,11 @@ (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 eff-dev-pass-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i)))))) (defgenrule gen-st-dev-open-1 (forall ((z strd) (d o name) (k skey)) (implies@@ -385,7 +386,6 @@ (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)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -401,7 +401,6 @@ (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))) (facts (same-dev ls lk))) (defrole dev-close@@ -409,7 +408,6 @@ (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)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -417,7 +415,6 @@ (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)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))@@ -461,14 +458,14 @@ (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+ (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 invShearsRule+ (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)@@ -518,15 +515,15 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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)))@@ -539,6 +536,11 @@ (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 eff-dev-pass-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i)))))) (defgenrule gen-st-dev-open-1 (forall ((z strd) (d o name) (k skey)) (implies@@ -729,9 +731,8 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((1 3) (0 0)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 fact-dev-up-same-dev0- same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4)+ (rule eff-dev-up-3 fact-dev-up-same-dev0 same-dev-lk-ls+ trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (operation channel-test (added-strand dev-up 4) (ch-msg lk (cat pt-2 "st-k" d o k)) (0 0)) (strand-map 0)@@ -760,8 +761,6 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((1 3) (0 0)))- (rule fact-dev-pass-same-dev0 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -794,10 +793,9 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((1 3) (0 0)) ((3 3) (0 1)))- (rule cau-dev-open-2 cau-dev-pass-1 eff-dev-up-3- fact-dev-open-same-dev0 fact-dev-pass-same-dev0 gen-st-dev-open-1- invShearsRule same-dev-ls-lk trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule cau-dev-open-2 cau-dev-pass-1 discreteBefore eff-dev-up-3+ fact-dev-open-same-dev0 gen-st-dev-open-1 same-dev-ls-lk+ trRl_dev-open-at-1 trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4) (ch-msg ls (cat pt "st" d o o)) (0 1)) (strand-map 0 1 2)@@ -813,51 +811,46 @@ (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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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 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)))+ (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (lk lk) (ls ls))+ (precedes ((1 0) (3 0)) ((2 3) (0 0)) ((3 4) (2 1))) (uniq-orig 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) (no-state-split))- (leads-to ((1 3) (0 0)) ((1 3) (3 2)) ((3 3) (0 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (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)+ (leads-to ((2 3) (0 1)) ((3 3) (0 0)) ((3 3) (2 2)))+ (rule cau-dev-open-2 discreteBefore eff-dev-up-3 fact-dev-up-same-dev0+ same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3+ trRl_dev-up-at-4)+ (operation channel-test (added-strand dev-up 4)+ (ch-msg lk (cat pt-3 "st-k" d o k)) (3 2))+ (strand-map 0 2 3 1) (traces- ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))+ ((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 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))))+ ((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)))+ ((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)))) (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))))+ (origs (pt-3 (3 3)) (pt-4 (3 4)) (pt (2 3)) (n (0 3)))) (comment "Nothing left to do") @@ -869,7 +862,6 @@ (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)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -885,7 +877,6 @@ (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))) (facts (same-dev ls lk))) (defrole dev-close@@ -893,7 +884,6 @@ (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)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -901,7 +891,6 @@ (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)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))@@ -945,14 +934,14 @@ (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+ (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 invShearsRule+ (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)@@ -1002,15 +991,15 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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)))@@ -1023,6 +1012,11 @@ (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 eff-dev-pass-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i)))))) (defgenrule gen-st-dev-open-1 (forall ((z strd) (d o name) (k skey)) (implies@@ -1245,9 +1239,8 @@ (auth start-ch-0) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 0)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 fact-dev-up-same-dev0- same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4)+ (rule eff-dev-up-3 fact-dev-up-same-dev0 same-dev-lk-ls+ trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -1278,8 +1271,6 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 0)))- (rule fact-dev-pass-same-dev0 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -1311,10 +1302,9 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 0)) ((3 3) (1 1)))- (rule cau-dev-open-2 cau-dev-pass-1 eff-dev-up-3- fact-dev-open-same-dev0 fact-dev-pass-same-dev0 gen-st-dev-open-1- invShearsRule same-dev-ls-lk trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule cau-dev-open-2 cau-dev-pass-1 discreteBefore eff-dev-up-3+ fact-dev-open-same-dev0 gen-st-dev-open-1 same-dev-ls-lk+ trRl_dev-open-at-1 trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4) (ch-msg ls (cat pt "st" d o o)) (1 1)) (strand-map 0 1 2)@@ -1329,247 +1319,213 @@ (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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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)))+ (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 3) (1 0)) ((3 4) (2 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) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (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)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule cau-dev-open-2 discreteBefore eff-dev-up-3 fact-dev-up-same-dev0+ same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3+ trRl_dev-up-at-4)+ (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 3 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))+ ((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 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 (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)))+ ((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)))) (label 15) (parent 14)- (unrealized (0 1) (1 2) (3 0))+ (unrealized (0 1) (1 2) (2 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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((4 0) (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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (operation encryption-test (added-strand owner-open 1)- (enc "open" d o n-0 k) (3 0))+ (enc "open" d o n-0 k) (2 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))+ ((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 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 (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)))+ ((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 "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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((2 3) (1 0)) ((3 4) (2 1))+ ((4 1) (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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (operation encryption-test (added-listener k) (enc "open" d o n-0 k)- (3 0))+ (2 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))+ ((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 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)))+ ((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)))+ ((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))) ((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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (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))+ ((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 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 (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)))+ ((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 "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"))+ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((2 3) (1 0)) ((3 4) (2 1))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (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))+ ((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 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)))+ ((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)))+ ((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 "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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (lk lk) (ls ls)) (deflistener k)- (precedes ((0 0) (2 0)) ((2 4) (4 0)) ((3 3) (1 0)) ((4 1) (3 0)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (4 0)) ((4 1) (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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 trRl_dev-open-at-1- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 5 2 dev-up 4) k (4 0)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule eff-dev-up-3 fact-dev-up-same-dev0 power-deliver-once+ trRl_dev-up-at-1 trRl_dev-up-at-3)+ (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) (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))+ ((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 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)))+ ((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)))+ ((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))) ((recv k) (send k))) (label 20) (parent 17) (unrealized (0 1) (4 0))@@ -1595,11 +1551,10 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 1)) ((5 3) (1 0)) ((5 3) (2 2)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation encryption-test (displaced 2 6 dev-up 6) (enc "up" k)- (0 1))- (strand-map 0 1 5 2 3 4)+ (rule fact-dev-up-same-dev0 power-deliver-once trRl_dev-up-at-1+ trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (operation encryption-test (added-strand dev-up 6) (enc "up" k) (0 1))+ (strand-map 0 1 2 4 5 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)) (load ls (cat pt "st" d o o)) (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))@@ -1620,84 +1575,74 @@ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((2 3) (1 0)) ((3 4) (2 1))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 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)))- ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))+ ((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 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)))+ ((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)))+ ((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 "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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((3 4) (5 0))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 trRl_dev-open-at-1- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 6 2 dev-up 4) k (5 0)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule eff-dev-up-3 fact-dev-up-same-dev0 power-deliver-once+ trRl_dev-up-at-1 trRl_dev-up-at-3)+ (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) (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))+ ((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 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)))+ ((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)))+ ((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 "open" d o n-0 k)))+ ((recv k) (send k))) (label 23) (parent 19) (unrealized (0 1) (5 0))@@ -1705,41 +1650,39 @@ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((3 4) (6 0))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 trRl_dev-open-at-1- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 7 2 dev-up 4) k (6 0)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule eff-dev-up-3 fact-dev-up-same-dev0 power-deliver-once+ trRl_dev-up-at-1 trRl_dev-up-at-3)+ (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) (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))+ ((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 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)))+ ((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)))+ ((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 "open" d o n-0 k)))+ ((send (enc "may I pass" k))) ((recv k) (send k))) (label 24) (parent 22) (unrealized (6 0))
tst/subatomic-open-closed.scm view
@@ -32,7 +32,8 @@ (stor ls (dev-state-closed d o)) (send (enc "up" k))) (auth start-ch)- (critical-sections (1 4))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (1 4)) (facts (same-dev ls lk))) (defrole owner-power-dev@@ -62,7 +63,8 @@ (load lk (dev-key-state d o k)) (stor ls (dev-state-opened d o)) (send n))- (critical-sections (1 3))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (1 3)) (gen-st (dev-key-state d o k) (dev-state-opened d o)) (facts (same-dev ls lk))) @@ -75,7 +77,8 @@ (stor ls (dev-state-closed d o)) (send n)) (gen-st (dev-key-state d o k))- (critical-sections (1 3))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (1 3)) (facts (same-dev ls lk))) (defrole dev-pass@@ -87,7 +90,8 @@ (send (enc "you may pass" n k))) (uniq-orig n) (gen-st (dev-key-state d o k) (dev-state-opened d o))- (critical-sections (0 1))+ ;; Critical section declarations are now obsolete. + ;; (critical-sections (0 1)) (facts (same-dev ls lk))) (defrole user-pass
tst/subatomic-open-closed.tst view
@@ -12,7 +12,6 @@ (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)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -28,7 +27,6 @@ (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))) (facts (same-dev ls lk))) (defrole dev-close@@ -36,7 +34,6 @@ (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)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -44,7 +41,6 @@ (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)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))@@ -88,14 +84,14 @@ (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+ (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 invShearsRule+ (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)@@ -145,15 +141,15 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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)))@@ -166,6 +162,11 @@ (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 eff-dev-pass-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i)))))) (defgenrule gen-st-dev-open-1 (forall ((z strd) (d o name) (k skey)) (implies@@ -264,7 +265,6 @@ (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)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -280,7 +280,6 @@ (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))) (facts (same-dev ls lk))) (defrole dev-close@@ -288,7 +287,6 @@ (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)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -296,7 +294,6 @@ (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)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))@@ -340,14 +337,14 @@ (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+ (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 invShearsRule+ (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)@@ -397,15 +394,15 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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)))@@ -418,6 +415,11 @@ (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 eff-dev-pass-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i)))))) (defgenrule gen-st-dev-open-1 (forall ((z strd) (d o name) (k skey)) (implies@@ -488,9 +490,8 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((1 3) (0 0)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 fact-dev-up-same-dev0- same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4)+ (rule eff-dev-up-3 fact-dev-up-same-dev0 same-dev-lk-ls+ trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (operation channel-test (added-strand dev-up 4) (ch-msg lk (cat pt-2 "st-k" d o k)) (0 0)) (strand-map 0)@@ -519,8 +520,6 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((1 3) (0 0)))- (rule fact-dev-pass-same-dev0 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -553,10 +552,9 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((1 3) (0 0)) ((3 3) (0 1)))- (rule cau-dev-open-2 cau-dev-pass-1 eff-dev-up-3- fact-dev-open-same-dev0 fact-dev-pass-same-dev0 gen-st-dev-open-1- invShearsRule same-dev-ls-lk trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule cau-dev-open-2 cau-dev-pass-1 discreteBefore eff-dev-up-3+ fact-dev-open-same-dev0 gen-st-dev-open-1 same-dev-ls-lk+ trRl_dev-open-at-1 trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4) (ch-msg ls (cat pt "st" d o o)) (0 1)) (strand-map 0 1 2)@@ -572,51 +570,46 @@ (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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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 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)))+ (defstrand dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (lk lk) (ls ls))+ (precedes ((1 0) (3 0)) ((2 3) (0 0)) ((3 4) (2 1))) (uniq-orig 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) (no-state-split))- (leads-to ((1 3) (0 0)) ((1 3) (3 2)) ((3 3) (0 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (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)+ (leads-to ((2 3) (0 1)) ((3 3) (0 0)) ((3 3) (2 2)))+ (rule cau-dev-open-2 discreteBefore eff-dev-up-3 fact-dev-up-same-dev0+ same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3+ trRl_dev-up-at-4)+ (operation channel-test (added-strand dev-up 4)+ (ch-msg lk (cat pt-3 "st-k" d o k)) (3 2))+ (strand-map 0 2 3 1) (traces- ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))+ ((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 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))))+ ((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)))+ ((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)))) (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))))+ (origs (pt-3 (3 3)) (pt-4 (3 4)) (pt (2 3)) (n (0 3)))) (comment "Nothing left to do") @@ -628,7 +621,6 @@ (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)) (facts (same-dev ls lk))) (defrole owner-power-dev (vars (k skey) (d o name) (start-ch chan))@@ -644,7 +636,6 @@ (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))) (facts (same-dev ls lk))) (defrole dev-close@@ -652,7 +643,6 @@ (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)) (facts (same-dev ls lk))) (defrole dev-pass (vars (k skey) (n text) (d o name) (lk ls locn))@@ -660,7 +650,6 @@ (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)) (facts (same-dev ls lk))) (defrole user-pass (vars (k skey))@@ -704,14 +693,14 @@ (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+ (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 invShearsRule+ (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)@@ -761,15 +750,15 @@ (defgenrule trRl_dev-close-at-2 (forall ((z strd)) (implies (p "dev-close" z (idx 4)) (trans z (idx 2)))))+ (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 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)))@@ -782,6 +771,11 @@ (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 eff-dev-pass-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "dev-pass" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "dev-pass" z (idx 2)) (prec z (idx 1) z1 i)))))) (defgenrule gen-st-dev-open-1 (forall ((z strd) (d o name) (k skey)) (implies@@ -884,9 +878,8 @@ (auth start-ch-0) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 0)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 fact-dev-up-same-dev0- same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3- trRl_dev-up-at-4)+ (rule eff-dev-up-3 fact-dev-up-same-dev0 same-dev-lk-ls+ trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -917,8 +910,6 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 0)))- (rule fact-dev-pass-same-dev0 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4) (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)@@ -950,10 +941,9 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 0)) ((3 3) (1 1)))- (rule cau-dev-open-2 cau-dev-pass-1 eff-dev-up-3- fact-dev-open-same-dev0 fact-dev-pass-same-dev0 gen-st-dev-open-1- invShearsRule same-dev-ls-lk trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (rule cau-dev-open-2 cau-dev-pass-1 discreteBefore eff-dev-up-3+ fact-dev-open-same-dev0 gen-st-dev-open-1 same-dev-ls-lk+ trRl_dev-open-at-1 trRl_dev-open-at-3) (operation channel-test (added-strand dev-open 4) (ch-msg ls (cat pt "st" d o o)) (1 1)) (strand-map 0 1 2)@@ -968,247 +958,213 @@ (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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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)))+ (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 3) (1 0)) ((3 4) (2 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) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (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)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule cau-dev-open-2 discreteBefore eff-dev-up-3 fact-dev-up-same-dev0+ same-dev-lk-ls trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3+ trRl_dev-up-at-4)+ (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 3 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))+ ((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 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 (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)))+ ((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)))) (label 15) (parent 14)- (unrealized (0 1) (1 2) (3 0))+ (unrealized (0 1) (1 2) (2 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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((4 0) (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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (operation encryption-test (added-strand owner-open 1)- (enc "open" d o n-0 k) (3 0))+ (enc "open" d o n-0 k) (2 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))+ ((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 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 (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)))+ ((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 "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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((2 3) (1 0)) ((3 4) (2 1))+ ((4 1) (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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (operation encryption-test (added-listener k) (enc "open" d o n-0 k)- (3 0))+ (2 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))+ ((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 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)))+ ((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)))+ ((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))) ((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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (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))+ ((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 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 (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)))+ ((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 "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"))+ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((0 0) (5 0)) ((2 3) (1 0)) ((3 4) (2 1))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2))) (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))+ ((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 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)))+ ((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)))+ ((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 "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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (lk lk) (ls ls)) (deflistener k)- (precedes ((0 0) (2 0)) ((2 4) (4 0)) ((3 3) (1 0)) ((4 1) (3 0)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (4 0)) ((4 1) (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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 trRl_dev-open-at-1- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 5 2 dev-up 4) k (4 0)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule eff-dev-up-3 fact-dev-up-same-dev0 power-deliver-once+ trRl_dev-up-at-1 trRl_dev-up-at-3)+ (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) (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))+ ((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 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)))+ ((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)))+ ((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))) ((recv k) (send k))) (label 20) (parent 17) (unrealized (0 1) (4 0))@@ -1234,11 +1190,10 @@ (auth start-ch) (facts (same-dev ls lk) (no-state-split)) (leads-to ((2 3) (1 1)) ((5 3) (1 0)) ((5 3) (2 2)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation encryption-test (displaced 2 6 dev-up 6) (enc "up" k)- (0 1))- (strand-map 0 1 5 2 3 4)+ (rule fact-dev-up-same-dev0 power-deliver-once trRl_dev-up-at-1+ trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (operation encryption-test (added-strand dev-up 6) (enc "up" k) (0 1))+ (strand-map 0 1 2 4 5 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)) (load ls (cat pt "st" d o o)) (recv (enc "may I pass" k)) (send (enc "you may pass" n k)))@@ -1259,84 +1214,74 @@ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((0 0) (6 0)) ((2 3) (1 0)) ((3 4) (2 1))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule fact-dev-pass-same-dev0 trRl_dev-open-at-1 trRl_dev-open-at-3- trRl_dev-up-at-1 trRl_dev-up-at-2 trRl_dev-up-at-3 trRl_dev-up-at-4)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 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)))- ((load lk (cat pt-2 "st-k" d o k)) (load ls (cat pt "st" d o o))+ ((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 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)))+ ((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)))+ ((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 "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"))+ (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 pt-4 pval) (start-ch chan) (ls lk locn))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((3 4) (5 0))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 trRl_dev-open-at-1- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 6 2 dev-up 4) k (5 0)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule eff-dev-up-3 fact-dev-up-same-dev0 power-deliver-once+ trRl_dev-up-at-1 trRl_dev-up-at-3)+ (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) (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))+ ((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 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)))+ ((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)))+ ((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 "open" d o n-0 k)))+ ((recv k) (send k))) (label 23) (parent 19) (unrealized (0 1) (5 0))@@ -1344,41 +1289,39 @@ (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))+ (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-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 dev-up 5 (old old) (old1 old1) (k k) (d d) (o o)+ (start-ch start-ch) (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)))+ (precedes ((0 0) (3 0)) ((2 3) (1 0)) ((3 4) (2 1)) ((3 4) (6 0))+ ((4 0) (2 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) (facts (same-dev ls lk) (no-state-split))- (leads-to ((2 3) (1 0)) ((2 3) (3 2)) ((3 3) (1 1)))- (rule eff-dev-up-3 fact-dev-pass-same-dev0 trRl_dev-open-at-1- trRl_dev-open-at-3 trRl_dev-up-at-1 trRl_dev-up-at-2- trRl_dev-up-at-3 trRl_dev-up-at-4)- (operation nonce-test (displaced 7 2 dev-up 4) k (6 0)+ (leads-to ((2 3) (1 1)) ((3 3) (1 0)) ((3 3) (2 2)))+ (rule eff-dev-up-3 fact-dev-up-same-dev0 power-deliver-once+ trRl_dev-up-at-1 trRl_dev-up-at-3)+ (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) (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))+ ((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 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)))+ ((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)))+ ((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 "open" d o n-0 k)))+ ((send (enc "may I pass" k))) ((recv k) (send k))) (label 24) (parent 22) (unrealized (6 0))
tst/sync_locn_envelope.tst view
@@ -99,14 +99,14 @@ (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+ (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 invShearsRule+ (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)@@ -123,7 +123,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (v n data) (pcr-id nonce text) (k aik akey) (tpm tpmconf chan))@@ -566,7 +576,6 @@ (conf tpmconf) (auth tpmconf) (leads-to ((4 3) (3 2)) ((5 3) (4 2)))- (rule trRl_tpm-extend-enc-at-2 trRl_tpm-extend-enc-at-3) (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))@@ -697,14 +706,14 @@ (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+ (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 invShearsRule+ (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)@@ -721,7 +730,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)@@ -1226,7 +1245,6 @@ (conf tpmconf) (auth tpmconf) (leads-to ((4 3) (3 1)) ((5 3) (4 2)))- (rule trRl_tpm-extend-enc-at-2 trRl_tpm-extend-enc-at-3) (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))@@ -1365,14 +1383,14 @@ (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+ (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 invShearsRule+ (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)@@ -1389,7 +1407,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)@@ -1944,7 +1972,6 @@ (conf tpmconf) (auth tpmconf) (leads-to ((5 3) (4 2)) ((6 3) (5 2)))- (rule trRl_tpm-extend-enc-at-2 trRl_tpm-extend-enc-at-3) (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))@@ -2013,8 +2040,7 @@ (conf tpmconf) (auth tpmconf) (leads-to ((5 3) (4 2)) ((6 3) (5 2)))- (rule genStV-if-hashed-tpm-quote trRl_tpm-extend-enc-at-2- trRl_tpm-extend-enc-at-3)+ (rule genStV-if-hashed-tpm-quote) (operation encryption-test (added-strand tpm-quote 3) (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik) (0 0))@@ -2323,14 +2349,14 @@ (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+ (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 invShearsRule+ (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)@@ -2347,7 +2373,17 @@ (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))))))+ (implies (p "tpm-extend-enc" z (idx 4)) (trans z (idx 2)))))+ (defgenrule eff-tpm-quote-2+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-quote" z (idx 3)) (prec z (idx 2) z1 i))+ (or (= z z1)+ (and (p "tpm-quote" z (idx 2)) (prec z (idx 1) z1 i))))))+ (defgenrule eff-tpm-decrypt-3+ (forall ((i indx) (z1 z strd))+ (implies (and (p "tpm-decrypt" z (idx 4)) (prec z (idx 3) z1 i))+ (or (= z z1)+ (and (p "tpm-decrypt" z (idx 3)) (prec z (idx 2) z1 i))))))) (defskeleton envelope (vars (n v data) (pcr-id pcr-id-0 nonce text) (k aik akey)@@ -2914,7 +2950,6 @@ (auth tpmconf) (facts (no-state-split)) (leads-to ((5 3) (4 2)) ((6 3) (5 2)))- (rule trRl_tpm-extend-enc-at-2 trRl_tpm-extend-enc-at-3) (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))@@ -2984,8 +3019,7 @@ (auth tpmconf) (facts (no-state-split)) (leads-to ((5 3) (4 2)) ((6 3) (5 2)))- (rule genStV-if-hashed-tpm-quote trRl_tpm-extend-enc-at-2- trRl_tpm-extend-enc-at-3)+ (rule genStV-if-hashed-tpm-quote) (operation encryption-test (added-strand tpm-quote 3) (enc "quote" pcr-id (hash (hash "0" n) "refuse") (enc v k) aik) (0 0))
tst/targetterms2.tst view
@@ -159,7 +159,7 @@ (seen-ops (7 (operation nonce-test (displaced 3 1 trans 3) n (2 1)- (enc n (pubk a))) (strand-map 0 2 1)))+ (enc n (pubk a))) (strand-map 0 1 2))) (unrealized (2 1)) (comment "2 in cohort - 1 not yet seen")) @@ -268,7 +268,7 @@ (parent 8) (seen 7) (seen-ops- (7 (operation generalization deleted (3 0)) (strand-map 0 2 1)))+ (7 (operation generalization deleted (3 0)) (strand-map 0 1 2))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/targetterms6.tst view
@@ -210,7 +210,7 @@ (parent 6) (seen 5) (seen-ops- (5 (operation generalization deleted (1 0)) (strand-map 0 3 2)))+ (5 (operation generalization deleted (1 0)) (strand-map 0 2 3))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/timestamping.tst view
@@ -567,7 +567,7 @@ (parent 6) (seen 7) (seen-ops- (7 (operation generalization deleted (1 0)) (strand-map 0 4 2 3)))+ (7 (operation generalization deleted (1 0)) (strand-map 0 2 3 4))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/ugen-at.tst view
@@ -77,7 +77,7 @@ (precedes ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a c) (ltk b c)) (uniq-gen k n-b)- (facts (remember-gen n-b 0) (remember-gen k 2))+ (facts (remember-gen k 2) (remember-gen n-b 0)) (rule ugen-at) (operation encryption-test (added-strand serv 2) (enc a k (ltk b c)) (0 2))@@ -102,8 +102,7 @@ (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a c) (ltk b c)) (uniq-gen k n-b)- (facts (remember-gen n-b 0) (remember-gen k 2))- (rule ugen-at)+ (facts (remember-gen k 2) (remember-gen n-b 0)) (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)@@ -129,8 +128,7 @@ (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (ltk a c) (ltk b c)) (uniq-gen k n-b)- (facts (remember-gen n-b 0) (remember-gen k 2))- (rule ugen-at)+ (facts (remember-gen k 2) (remember-gen n-b 0)) (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)@@ -215,7 +213,7 @@ (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk a c) (ltk b c)) (uniq-gen k n-a)- (facts (remember-gen n-a 0) (remember-gen k 1))+ (facts (remember-gen k 1) (remember-gen n-a 0)) (rule ugen-at) (operation encryption-test (added-strand serv 2) (enc b k n-a n-b (ltk a c)) (0 1))@@ -238,8 +236,7 @@ (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk a c) (ltk b c)) (uniq-gen k n-a)- (facts (remember-gen n-a 0) (remember-gen k 1))- (rule ugen-at)+ (facts (remember-gen k 1) (remember-gen n-a 0)) (operation encryption-test (added-strand resp 2) (enc a n-a n-b (ltk b c)) (1 0)) (strand-map 0 1)
tst/uniq-at.tst view
@@ -75,7 +75,7 @@ (precedes ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a c) (ltk b c)) (uniq-orig k n-b)- (facts (remember n-b 0) (remember k 2))+ (facts (remember k 2) (remember n-b 0)) (rule uniq-at) (operation encryption-test (added-strand serv 2) (enc a k (ltk b c)) (0 2))@@ -100,8 +100,7 @@ (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a c) (ltk b c)) (uniq-orig k n-b)- (facts (remember n-b 0) (remember k 2))- (rule uniq-at)+ (facts (remember k 2) (remember n-b 0)) (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)@@ -127,8 +126,7 @@ (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (ltk a c) (ltk b c)) (uniq-orig k n-b)- (facts (remember n-b 0) (remember k 2))- (rule uniq-at)+ (facts (remember k 2) (remember n-b 0)) (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)@@ -211,7 +209,7 @@ (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk a c) (ltk b c)) (uniq-orig k n-a)- (facts (remember n-a 0) (remember k 1))+ (facts (remember k 1) (remember n-a 0)) (rule uniq-at) (operation encryption-test (added-strand serv 2) (enc b k n-a n-b (ltk a c)) (0 1))@@ -234,8 +232,7 @@ (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk a c) (ltk b c)) (uniq-orig k n-a)- (facts (remember n-a 0) (remember k 1))- (rule uniq-at)+ (facts (remember k 1) (remember n-a 0)) (operation encryption-test (added-strand resp 2) (enc a n-a n-b (ltk b c)) (1 0)) (strand-map 0 1)
tst/wonthull2.tst view
@@ -75,7 +75,7 @@ (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 2)))+ (enc x1 x2 (pubk a))) (strand-map 0 1))) (unrealized (0 1)) (comment "3 in cohort - 2 not yet seen")) @@ -147,7 +147,7 @@ (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 3)))+ (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")) @@ -195,7 +195,7 @@ (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 2 3)))+ (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")) @@ -630,7 +630,7 @@ (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 3)))+ (enc x1-0 x1-0 (pubk a))) (strand-map 0 1 2))) (unrealized (0 1)) (comment "5 in cohort - 3 not yet seen")) @@ -702,7 +702,7 @@ (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 3)))+ (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")) @@ -872,12 +872,12 @@ (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 3 2))+ (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 4)))+ (strand-map 0 1 2 3))) (unrealized (0 1)) (comment "6 in cohort - 3 not yet seen")) @@ -911,7 +911,7 @@ (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 3 4)))+ (strand-map 0 1 2 3))) (unrealized (0 1)) (comment "3 in cohort - 2 not yet seen")) @@ -1252,7 +1252,7 @@ (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 4)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -1469,7 +1469,7 @@ (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 4)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -1592,11 +1592,11 @@ (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 3 2))+ (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 3 2)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "5 in cohort - 3 not yet seen")) @@ -1630,7 +1630,7 @@ (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 3 2)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "5 in cohort - 3 not yet seen")) @@ -1664,7 +1664,7 @@ (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 3 2)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "5 in cohort - 3 not yet seen")) @@ -1777,7 +1777,7 @@ (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 4)))+ (enc y3 y3 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -1938,7 +1938,7 @@ (parent 40) (seen 71) (seen-ops- (71 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (71 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -2260,7 +2260,7 @@ (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 4))+ (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))@@ -2268,7 +2268,7 @@ (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 3 2)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 1 not yet seen")) @@ -2300,7 +2300,7 @@ (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 4 3))+ (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))@@ -2340,7 +2340,7 @@ (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 3 2 4)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "5 in cohort - 4 not yet seen")) @@ -2370,7 +2370,7 @@ (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 3 2)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 3 not yet seen")) @@ -2440,7 +2440,7 @@ (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 5))+ (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))@@ -2532,7 +2532,7 @@ (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 4)))+ (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -2568,7 +2568,7 @@ (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 4 3)))+ (enc x1-0 x3 (pubk a))) (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "6 in cohort - 4 not yet seen")) @@ -2602,7 +2602,7 @@ (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 3 4 2))+ (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)))@@ -2610,7 +2610,7 @@ (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 4 2 3)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "6 in cohort - 3 not yet seen")) @@ -2693,7 +2693,7 @@ (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 4)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -2794,7 +2794,7 @@ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -2828,7 +2828,7 @@ (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 4 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -2985,7 +2985,7 @@ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -3019,15 +3019,15 @@ (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 3 2 4))+ (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 4 3))+ (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 4 2 3)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "6 in cohort - 3 not yet seen")) @@ -3059,7 +3059,7 @@ (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 3 2)))+ (enc y3-0 y3-0 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 3 not yet seen")) @@ -3094,7 +3094,7 @@ (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 4 2 3))+ (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))@@ -3133,7 +3133,7 @@ (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 3 2 3))+ (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))@@ -3141,7 +3141,7 @@ (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 5)))+ (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")) @@ -3239,11 +3239,11 @@ (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 4 3))+ (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 5))+ (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))@@ -3277,7 +3277,7 @@ (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 3 2)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "4 in cohort - 3 not yet seen")) @@ -3309,7 +3309,7 @@ (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 3 2 3))+ (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))@@ -3345,7 +3345,7 @@ (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 3 2 4))+ (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))@@ -3353,7 +3353,7 @@ (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 5)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "5 in cohort - 2 not yet seen")) @@ -3447,7 +3447,7 @@ (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 4)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -3487,7 +3487,7 @@ (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 4 3)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -3570,7 +3570,7 @@ (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 4)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -3664,7 +3664,7 @@ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -3698,7 +3698,7 @@ (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 4 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -4091,7 +4091,7 @@ (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 4)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -4153,12 +4153,12 @@ (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 4 3))+ (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 4 2 3)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -4192,7 +4192,7 @@ (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 4 2 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -4329,7 +4329,7 @@ (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 3 2 4 5)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -4393,7 +4393,7 @@ (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 3 2 4)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -4430,12 +4430,12 @@ (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 3 2 4 3))+ (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 6))+ (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))@@ -4474,7 +4474,7 @@ (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 3 2 4)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -4534,7 +4534,7 @@ (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 3 2)))+ (strand-map 0 1 2 3))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -4598,7 +4598,7 @@ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -4640,7 +4640,7 @@ (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 5 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -4670,7 +4670,7 @@ (parent 87) (seen 152) (seen-ops- (152 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (152 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -4815,7 +4815,7 @@ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -4938,7 +4938,7 @@ (parent 91) (seen 159) (seen-ops- (159 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (159 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -4968,7 +4968,7 @@ (parent 91) (seen 160) (seen-ops- (160 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (160 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -5010,12 +5010,12 @@ (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 4 3 5))+ (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 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "5 in cohort - 2 not yet seen")) @@ -5054,7 +5054,7 @@ (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 5 2 3 4)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "6 in cohort - 4 not yet seen")) @@ -5090,7 +5090,7 @@ (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 4 2 3))+ (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))@@ -5129,7 +5129,7 @@ (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 4 2 3 4))+ (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))@@ -5137,7 +5137,7 @@ (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 6))+ (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))@@ -5408,7 +5408,7 @@ (parent 99) (seen 219) (seen-ops- (219 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (219 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -5597,11 +5597,11 @@ (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 4 3))+ (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 4 2 3)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "5 in cohort - 3 not yet seen")) @@ -5636,11 +5636,11 @@ (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 4 3 4))+ (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 5 2 3 4))+ (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))@@ -5679,11 +5679,11 @@ (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 4 2 3 4))+ (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 4 3 5))+ (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))@@ -5691,7 +5691,7 @@ (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 6)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "6 in cohort - 2 not yet seen")) @@ -5728,7 +5728,7 @@ (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 4 2 3)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -5794,12 +5794,12 @@ (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 3 2 3))+ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -5840,7 +5840,7 @@ (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 5 2 3 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -5913,7 +5913,7 @@ (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 4 2 3 4))+ (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))@@ -5923,7 +5923,7 @@ (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 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "5 in cohort - 2 not yet seen")) @@ -5964,12 +5964,12 @@ (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 3 2 3 4))+ (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 5 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -6139,12 +6139,12 @@ (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 4 4 3))+ (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 6))+ (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))@@ -6211,12 +6211,12 @@ (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 4 3))+ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -6253,12 +6253,12 @@ (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 5 3 4))+ (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 5 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -6288,7 +6288,7 @@ (parent 111) (seen 152) (seen-ops- (152 (operation generalization deleted (3 0)) (strand-map 0 1 4 2)))+ (152 (operation generalization deleted (3 0)) (strand-map 0 1 2 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -6350,7 +6350,7 @@ (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 3 2 3)))+ (strand-map 0 1 2 3 2))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -6384,12 +6384,12 @@ (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 3 2 4))+ (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 5)))+ (strand-map 0 1 2 3 4))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -6426,7 +6426,7 @@ (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 3 2 3 4)))+ (strand-map 0 1 2 3 2 4))) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) @@ -6493,7 +6493,7 @@ (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 3 2 3 4))+ (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))@@ -6503,7 +6503,7 @@ (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 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "5 in cohort - 2 not yet seen")) @@ -6540,12 +6540,12 @@ (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 3 2 4 5))+ (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 5 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "3 in cohort - 1 not yet seen")) @@ -6748,7 +6748,7 @@ (parent 118) (seen 213) (seen-ops- (213 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (213 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -6861,7 +6861,7 @@ (parent 122) (seen 219) (seen-ops- (219 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (219 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7179,7 +7179,7 @@ (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 4 2 3 4)))+ (strand-map 0 1 2 3 4 2))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -7346,7 +7346,7 @@ (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 3 2 4 5 3)))+ (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")) @@ -7413,7 +7413,7 @@ (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 3 2 4 3)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 4 2))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -7447,7 +7447,7 @@ (seen 179) (seen-ops (179 (operation generalization deleted (2 0))- (strand-map 0 1 3 5 4)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7486,7 +7486,7 @@ (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 3 2 5 3 4)))+ (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")) @@ -7595,7 +7595,7 @@ (parent 155) (seen 244) (seen-ops- (244 (operation generalization deleted (2 0)) (strand-map 0 1 4 3)))+ (244 (operation generalization deleted (2 0)) (strand-map 0 1 3 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7629,7 +7629,7 @@ (seen 243) (seen-ops (243 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7801,7 +7801,7 @@ (seen 249) (seen-ops (249 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7835,7 +7835,7 @@ (seen 248) (seen-ops (248 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7908,7 +7908,7 @@ (seen 251) (seen-ops (251 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7942,7 +7942,7 @@ (seen 252) (seen-ops (252 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -7986,7 +7986,7 @@ (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 6 2 3 4 5)))+ (strand-map 0 1 2 3 4 5 6))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -8062,7 +8062,7 @@ (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 5 2 3 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -8106,12 +8106,12 @@ (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 5 2 3 4 5))+ (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 7))+ (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))@@ -8183,7 +8183,7 @@ (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 4 2 3 4))+ (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))@@ -8193,7 +8193,7 @@ (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 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "4 in cohort - 1 not yet seen")) @@ -8232,7 +8232,7 @@ (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 4 2 3 4 5))+ (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))@@ -8242,7 +8242,7 @@ (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 6 7)))+ (strand-map 0 1 2 3 4 5 6))) (unrealized (1 0)) (comment "4 in cohort - 1 not yet seen")) @@ -8373,7 +8373,7 @@ (seen 267) (seen-ops (267 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -8408,7 +8408,7 @@ (seen 307) (seen-ops (307 (operation generalization deleted (2 0))- (strand-map 0 1 5 4 3)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -8545,12 +8545,12 @@ (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 4 3 4))+ (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 5 2 3 4)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -8587,17 +8587,17 @@ (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 4 2 3 4))+ (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 4 3 5))+ (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 6)))+ (strand-map 0 1 2 3 4 5))) (unrealized (1 0)) (comment "4 in cohort - 1 not yet seen")) @@ -8636,12 +8636,12 @@ (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 4 3 4 5))+ (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 6 2 3 4 5)))+ (strand-map 0 1 2 3 4 5 6))) (unrealized (1 0)) (comment "4 in cohort - 2 not yet seen")) @@ -8714,12 +8714,12 @@ (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 4 3 4 5))+ (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 5 2 3 4 5))+ (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))@@ -8729,7 +8729,7 @@ (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 7)))+ (strand-map 0 1 2 3 4 5 6))) (unrealized (1 0)) (comment "6 in cohort - 2 not yet seen")) @@ -8768,17 +8768,17 @@ (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 4 2 3 4 5))+ (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 4 3 5 6))+ (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 6 7)))+ (strand-map 0 1 2 3 4 5 6))) (unrealized (1 0)) (comment "4 in cohort - 1 not yet seen")) @@ -8885,7 +8885,7 @@ (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 4 2 3 4)))+ (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")) @@ -8998,7 +8998,7 @@ (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 5 2 3 4 5)))+ (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")) @@ -9079,7 +9079,7 @@ (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 4 2 3 4 5)))+ (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")) @@ -9150,7 +9150,7 @@ (seen 296) (seen-ops (296 (operation generalization deleted (2 0))- (strand-map 0 1 3 5 4)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9189,7 +9189,7 @@ (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 4 4 5 3)))+ (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")) @@ -9256,7 +9256,7 @@ (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 4 4 3)))+ (enc y3 y3 (pubk a))) (strand-map 0 1 2 3 3 4))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -9290,7 +9290,7 @@ (seen 179) (seen-ops (179 (operation generalization deleted (3 0))- (strand-map 0 1 2 5 4)))+ (strand-map 0 1 2 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9329,7 +9329,7 @@ (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 5 5 3 4)))+ (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")) @@ -9359,7 +9359,7 @@ (parent 202) (seen 244) (seen-ops- (244 (operation generalization deleted (3 0)) (strand-map 0 1 4 2)))+ (244 (operation generalization deleted (3 0)) (strand-map 0 1 2 4))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9393,7 +9393,7 @@ (seen 294) (seen-ops (294 (operation generalization deleted (2 0))- (strand-map 0 1 5 3 4)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9460,7 +9460,7 @@ (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 3 2 3 4)))+ (enc x1 x1 (pubk a))) (strand-map 0 1 2 3 2 4))) (unrealized (1 0)) (comment "2 in cohort - 1 not yet seen")) @@ -9563,7 +9563,7 @@ (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 3 2 3 4 5)))+ (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")) @@ -9636,7 +9636,7 @@ (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 3 2 3 4 5)))+ (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")) @@ -9754,7 +9754,7 @@ (seen 304) (seen-ops (304 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9820,7 +9820,7 @@ (seen 307) (seen-ops (307 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9855,7 +9855,7 @@ (seen 267) (seen-ops (267 (operation generalization deleted (2 0))- (strand-map 0 1 5 4 3)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9927,7 +9927,7 @@ (seen 269) (seen-ops (269 (operation generalization deleted (2 0))- (strand-map 0 1 3 6 4 5)))+ (strand-map 0 1 3 4 5 6))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9962,7 +9962,7 @@ (seen 267) (seen-ops (267 (operation generalization deleted (2 0))- (strand-map 0 1 3 5 4)))+ (strand-map 0 1 3 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -9999,7 +9999,7 @@ (seen 268) (seen-ops (268 (operation generalization deleted (2 0))- (strand-map 0 1 3 5 6 4)))+ (strand-map 0 1 3 4 5 6))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -10228,7 +10228,7 @@ (seen 317) (seen-ops (317 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5 6)))+ (strand-map 0 1 3 4 5 6))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -10265,7 +10265,7 @@ (seen 318) (seen-ops (318 (operation generalization deleted (2 0))- (strand-map 0 1 4 3 5 6)))+ (strand-map 0 1 3 4 5 6))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -10348,7 +10348,7 @@ (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 6 2 3 4 5 6)))+ (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")) @@ -10426,7 +10426,7 @@ (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 5 2 3 4 5)))+ (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")) @@ -10473,7 +10473,7 @@ (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 5 2 3 4 5 6)))+ (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")) @@ -10652,12 +10652,12 @@ (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 4 3 4 5))+ (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 5 2 3 4 5)))+ (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")) @@ -10769,12 +10769,12 @@ (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 4 3 4 5 6))+ (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 6 2 3 4 5 6)))+ (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")) @@ -10816,12 +10816,12 @@ (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 4 3 4 5 6))+ (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 5 2 3 4 5 6)))+ (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")) @@ -11050,7 +11050,7 @@ (seen 345) (seen-ops (345 (operation generalization deleted (2 0))- (strand-map 0 1 3 5 4 6)))+ (strand-map 0 1 3 4 5 6))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -11085,7 +11085,7 @@ (seen 267) (seen-ops (267 (operation generalization deleted (3 0))- (strand-map 0 1 2 5 4)))+ (strand-map 0 1 2 4 5))) (realized) (comment "1 in cohort - 0 not yet seen")) @@ -11122,7 +11122,7 @@ (seen 343) (seen-ops (343 (operation generalization deleted (2 0))- (strand-map 0 1 6 3 4 5)))+ (strand-map 0 1 3 4 5 6))) (realized) (comment "1 in cohort - 0 not yet seen"))
tst/yahalom-6.3.6.tst view
@@ -488,7 +488,7 @@ (19 (operation nonce-test (added-strand init 3) n-b (2 1) (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 4)))+ (enc b k-0 n-a n-b (ltk a s))) (strand-map 0 1 2 3))) (unrealized (2 1)) (comment "3 in cohort - 2 not yet seen"))
tst/yahalom-forward.tst view
@@ -308,7 +308,7 @@ (12 (operation nonce-test (added-strand init 3) n-b (2 1) (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 4)))+ (enc b k-0 n-a n-b (ltk a c))) (strand-map 0 1 2 3))) (unrealized (2 1)) (comment "3 in cohort - 2 not yet seen")) @@ -479,7 +479,7 @@ (operation nonce-test (added-strand init 3) n-b (2 1) (enc n-b k-0) (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 4 5)))+ (strand-map 0 1 2 3 4))) (unrealized (2 1)) (comment "4 in cohort - 3 not yet seen")) @@ -703,7 +703,7 @@ (operation nonce-test (added-strand init 3) n-b (2 1) (enc n-b k-0) (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))- (enc b k-1 n-a n-b (ltk a c))) (strand-map 0 1 2 4 5 6)))+ (enc b k-1 n-a n-b (ltk a c))) (strand-map 0 1 2 3 4 5))) (unrealized (2 1)) (comment "3 in cohort - 2 not yet seen"))
tst/yahalom.tst view
@@ -281,7 +281,7 @@ (14 (operation nonce-test (added-strand init 3) n-b (2 1) (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 4)))+ (enc b k-0 n-a n-b (ltk a c))) (strand-map 0 1 2 3))) (unrealized (2 1)) (comment "3 in cohort - 2 not yet seen")) @@ -486,7 +486,7 @@ (operation nonce-test (added-strand init 3) n-b (2 1) (enc n-b k-0) (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 4 5)))+ (strand-map 0 1 2 3 4))) (unrealized (2 1)) (comment "4 in cohort - 3 not yet seen")) @@ -722,7 +722,7 @@ (operation nonce-test (added-strand init 3) n-b (2 1) (enc n-b k-0) (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))- (enc b k-1 n-a n-b (ltk a c))) (strand-map 0 1 2 4 5 6)))+ (enc b k-1 n-a n-b (ltk a c))) (strand-map 0 1 2 3 4 5))) (unrealized (2 1)) (comment "3 in cohort - 2 not yet seen"))