(herald "DHCR: unified model (UM) criss-cross" (bound 20) (limit 8000) (algebra diffie-hellman)) (comment "CPSA 4.4.3") (comment "All input read from tst/dhcr_umx.scm") (comment "Step count limited to 8000") (comment "Strand count bounded at 20") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (precedes ((1 0) (0 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb))))) (label 0) (unrealized (0 2)) (origs (na (0 1))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation encryption-test (added-strand resp 3) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))))) (label 1) (parent 0) (unrealized (2 1)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 1) (0 2))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 2) (parent 0) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (displaced 3 1 ltx-gen 1) (exp (gen) l) (2 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat b (exp (gen) l)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))))) (label 3) (parent 1) (realized) (shape) (maps ((0 1) ((ltxa ltxa) (ltxb l) (a a) (b b) (x ltxb) (y (mul (rec ltxa) ltxa-0 y)) (na na) (nb nb)))) (origs (nb (2 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (displaced 3 0 init 2) (exp (gen) x) (2 1)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))))) (label 4) (parent 1) (realized) (shape) (maps ((0 1) ((ltxa ltxa-0) (ltxb ltxb) (a a) (b b) (x x) (y (mul ltxa y (rec ltxa-0))) (na na) (nb nb)))) (origs (na (0 1)) (nb (2 2)))) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (exp (gen) (mul ltxb x (rec ltxb-0))) (2 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb x)) ltxb-0)) (send (cat (exp (gen) (mul ltxb x)) ltxb-0)))) (label 5) (parent 1) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (exp (gen) (mul ltxb x (rec ltxb-0))) (2 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (send (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)))) (label 6) (parent 1) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (2 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 7) (parent 2) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb x)) ltxb-0)) (send (cat (exp (gen) (mul ltxb x)) ltxb-0))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 8) (parent 5) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 9) (parent 7) (unrealized (4 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (precedes ((1 0) (0 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb))))) (label 10) (unrealized (0 2)) (origs (na (0 1))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation encryption-test (added-strand resp 3) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))))) (label 11) (parent 10) (unrealized (2 1)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 1) (0 2))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 12) (parent 10) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (displaced 3 1 ltx-gen 1) (exp (gen) l) (2 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat b (exp (gen) l)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))))) (label 13) (parent 11) (realized) (shape) (maps ((0 1) ((ltxa ltxa) (ltxb l) (a a) (b b) (x ltxb) (y (mul (rec ltxa) ltxa-0 y)) (na na) (nb nb)))) (origs (nb (2 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (displaced 3 0 init 2) (exp (gen) x) (2 1)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))))) (label 14) (parent 11) (realized) (shape) (maps ((0 1) ((ltxa ltxa-0) (ltxb ltxb) (a a) (b b) (x x) (y (mul ltxa y (rec ltxa-0))) (na na) (nb nb)))) (origs (na (0 1)) (nb (2 2)))) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (exp (gen) (mul ltxb x (rec ltxb-0))) (2 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb x)) ltxb-0)) (send (cat (exp (gen) (mul ltxb x)) ltxb-0)))) (label 15) (parent 11) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (exp (gen) (mul ltxb x (rec ltxb-0))) (2 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (send (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)))) (label 16) (parent 11) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (2 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 17) (parent 12) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self b) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb x)) ltxb-0)) (send (cat (exp (gen) (mul ltxb x)) ltxb-0))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 18) (parent 15) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self b) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen ltxb x) (absent (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat b (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 19) (parent 17) (unrealized (4 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (non-orig ltxa ltxb) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb))))) (label 20) (unrealized (0 0) (0 2)) (preskeleton) (origs (na (0 1))) (comment "Not a skeleton")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (precedes ((1 0) (0 0)) ((2 0) (0 0))) (non-orig ltxa ltxb) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb))))) (label 21) (parent 20) (unrealized (0 2)) (origs (na (0 1))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxb)) (precedes ((1 0) (0 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation collapsed 2 1) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb))))) (label 22) (parent 21) (unrealized (0 2)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (precedes ((0 1) (3 1)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (0 2))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation encryption-test (added-strand resp 3) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))))) (label 23) (parent 21) (unrealized (0 2) (3 1)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 2))) (non-orig ltxa ltxb) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 24) (parent 21) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) ltxb-0))) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y ltxa) (y (mul x (rec ltxb) ltxb-0)) (y ltxb) (x ltxb-0)) (operation encryption-test (added-strand resp 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0)))) (0 2)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0)))))) (send nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) ltxb-0)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0)))))))) (label 25) (parent 22) (unrealized (0 2) (2 1)) (origs (nb (2 2)) (na (0 1))) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxb)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 1) (0 2))) (non-orig ltxb) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation encryption-test (added-listener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (0 2)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (label 26) (parent 22) (unrealized (2 0)) (origs (na (0 1))) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (0 2))) (non-orig ltxa l) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (displaced 4 2 ltx-gen 1) (exp (gen) l) (3 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) l)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))))) (label 27) (parent 23) (unrealized (0 2)) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (defstrand ltx-gen 1 (self self) (l ltxa-0)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (3 1)) ((1 0) (0 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 2) (0 2))) (non-orig ltxa-0 ltxb) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (displaced 4 0 init 2) (exp (gen) x) (3 1)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxa-0)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))))) (label 28) (parent 23) (unrealized (0 2)) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (exp (gen) (mul ltxb x (rec ltxb-0))) (3 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb x)) ltxb-0)) (send (cat (exp (gen) (mul ltxb x)) ltxb-0)))) (label 29) (parent 23) (unrealized (0 2) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (exp (gen) (mul ltxb x (rec ltxb-0))) (3 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (send (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)))) (label 30) (parent 23) (unrealized (0 2) (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 2)) ((4 1) (3 0))) (non-orig ltxa ltxb) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 31) (parent 24) (unrealized (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (defstrand ltx-gen 1 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (displaced 3 1 ltx-gen 1) (exp (gen) l) (2 1)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) l)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))))) (label 32) (parent 25) (unrealized (0 2)) (origs (nb (2 2)) (na (0 1))) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxb)))) (defstrand ltx-gen 1 (self self) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxb)) (operation nonce-test (displaced 3 0 init 2) (exp (gen) x) (2 1)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))))) (label 33) (parent 25) (unrealized (0 2)) (origs (na (0 1)) (nb (2 2))) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) ltxb-0))) (deflistener (cat (exp (gen) (mul x ltxb-0)) ltxb)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y ltxa) (y (mul x (rec ltxb) ltxb-0)) (y ltxb) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul x ltxb-0)) ltxb)) (exp (gen) (mul x (rec ltxb) ltxb-0)) (2 1)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0)))))) (send nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) ltxb-0)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0))))))) ((recv (cat (exp (gen) (mul x ltxb-0)) ltxb)) (send (cat (exp (gen) (mul x ltxb-0)) ltxb)))) (label 34) (parent 25) (unrealized (0 2) (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) ltxb-0))) (deflistener (cat (exp (gen) (mul (rec ltxb) ltxb-0)) x)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y ltxa) (y (mul x (rec ltxb) ltxb-0)) (y ltxb) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxb) ltxb-0)) x)) (exp (gen) (mul x (rec ltxb) ltxb-0)) (2 1)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0)))))) (send nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) ltxb-0)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0))))))) ((recv (cat (exp (gen) (mul (rec ltxb) ltxb-0)) x)) (send (cat (exp (gen) (mul (rec ltxb) ltxb-0)) x)))) (label 35) (parent 25) (unrealized (0 2) (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxb)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))) (2 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (label 36) (parent 26) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (0 2))) (non-orig ltxa l) (uniq-orig na nb) (uniq-gen y ltxa ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (displaced 4 3 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) l)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))))))) (label 37) (parent 27) (realized) (shape) (maps ((0 1 2) ((ltxa ltxa) (ltxb l) (a a) (b b) (x ltxb) (y y) (na na) (nb nb) (self self) (self-0 self-0)))) (origs (nb (3 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (4 0)) ((4 1) (0 2))) (non-orig ltxa l) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)) (exp (gen) (mul (rec ltxa) ltxa-0 y)) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) l)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)) (send (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)))) (label 38) (parent 27) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (4 0)) ((4 1) (0 2))) (non-orig ltxa l) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (exp (gen) (mul (rec ltxa) ltxa-0 y)) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) l)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (send (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)))) (label 39) (parent 27) (unrealized (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (3 1)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 2) (0 2))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen y ltxa ltxb x) (absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb)) (operation nonce-test (displaced 4 3 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))))) (label 40) (parent 28) (realized) (shape) (maps ((0 1 2) ((ltxa ltxa) (ltxb ltxb) (a a) (b b) (x x) (y y) (na na) (nb nb) (self self) (self-0 self-0)))) (origs (nb (3 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (defstrand ltx-gen 1 (self self) (l ltxa-0)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (precedes ((0 1) (3 1)) ((1 0) (0 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 2) (4 0)) ((4 1) (0 2))) (non-orig ltxa-0 ltxb) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (exp (gen) (mul ltxa y (rec ltxa-0))) (0 2)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxa-0)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (send (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)))) (label 41) (parent 28) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (defstrand ltx-gen 1 (self self) (l ltxa-0)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (precedes ((0 1) (3 1)) ((1 0) (0 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 2) (4 0)) ((4 1) (0 2))) (non-orig ltxa-0 ltxb) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (exp (gen) (mul ltxa y (rec ltxa-0))) (0 2)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxa-0)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)))) (label 42) (parent 28) (unrealized (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb x ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (deflistener (cat (exp (gen) (mul ltxb x)) ltxb-0)) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa-0) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) (mul ltxb x)) ltxb-0)) (send (cat (exp (gen) (mul ltxb x)) ltxb-0))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 43) (parent 29) (unrealized (0 2) (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 2)) ((4 1) (3 0)) ((5 1) (4 0))) (non-orig ltxa ltxb) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 44) (parent 31) (unrealized (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y y)) (defstrand ltx-gen 1 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (0 2))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxb) (y l) (ltxb l)) (operation nonce-test (displaced 3 2 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) l)))) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))))) (label 45) (parent 32) (realized) (shape) (maps ((0 1 1) ((ltxa l) (ltxb l) (a a) (b b) (x ltxb) (y y) (na na) (nb nb) (self self) (self-0 self)))) (origs (nb (2 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (defstrand ltx-gen 1 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul ltxa (rec l))) y)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (3 0)) ((3 1) (0 2))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec l))) y)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) l)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul ltxa (rec l))) y)) (send (cat (exp (gen) (mul ltxa (rec l))) y)))) (label 46) (parent 32) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (defstrand ltx-gen 1 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (3 0)) ((3 1) (0 2))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul y (rec l))) ltxa)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) l)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa)))) (label 47) (parent 32) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y ltxb x) (absent (y ltxb) (y x) (x ltxb)) (operation nonce-test (displaced 3 2 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul ltxb x)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul ltxb x)))))))) (label 48) (parent 33) (realized) (shape) (maps ((0 1 1) ((ltxa ltxb) (ltxb ltxb) (a a) (b b) (x x) (y y) (na na) (nb nb) (self self) (self-0 self)))) (origs (nb (2 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxb)))) (defstrand ltx-gen 1 (self self) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul ltxa (rec ltxb))) y)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (3 0)) ((3 1) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec ltxb))) y)) (exp (gen) (mul ltxa y (rec ltxb))) (0 2)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul ltxa (rec ltxb))) y)) (send (cat (exp (gen) (mul ltxa (rec ltxb))) y)))) (label 49) (parent 33) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxb)))) (defstrand ltx-gen 1 (self self) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxb))) ltxa)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (3 0)) ((3 1) (0 2))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul y (rec ltxb))) ltxa)) (exp (gen) (mul ltxa y (rec ltxb))) (0 2)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxb))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxb))) ltxa)))) (label 50) (parent 33) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb ltxb-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) ltxb-0))) (deflistener (cat (exp (gen) (mul x ltxb-0)) ltxb)) (deflistener (cat (exp (gen) ltxb-0) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 2) (0 2)) ((3 1) (2 1)) ((4 1) (3 0))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y ltxa) (y (mul x (rec ltxb) ltxb-0)) (y ltxb) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) ltxb-0) x)) (exp (gen) (mul x ltxb-0)) (3 0)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0)))))) (send nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) ltxb-0)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb-0))))))) ((recv (cat (exp (gen) (mul x ltxb-0)) ltxb)) (send (cat (exp (gen) (mul x ltxb-0)) ltxb))) ((recv (cat (exp (gen) ltxb-0) x)) (send (cat (exp (gen) ltxb-0) x)))) (label 51) (parent 34) (unrealized (0 2) (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (defstrand ltx-gen 1 (self self) (l ltxb)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul x ltxb)) (3 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 52) (parent 36) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (deflistener (cat (exp (gen) (rec ltxa)) y)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 2) (5 0)) ((4 1) (0 2)) ((5 1) (4 0))) (non-orig ltxa l) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxa)) y)) (exp (gen) (mul (rec ltxa) y)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) l)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (send (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0))) ((recv (cat (exp (gen) (rec ltxa)) y)) (send (cat (exp (gen) (rec ltxa)) y)))) (label 53) (parent 39) (unrealized (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (defstrand ltx-gen 1 (self self) (l ltxa-0)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (deflistener (cat (exp (gen) (rec ltxa-0)) y)) (precedes ((0 1) (3 1)) ((1 0) (0 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 2) (5 0)) ((4 1) (0 2)) ((5 1) (4 0))) (non-orig ltxa-0 ltxb) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxa-0)) y)) (exp (gen) (mul y (rec ltxa-0))) (4 0)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxa-0)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxa-0))) ltxa))) ((recv (cat (exp (gen) (rec ltxa-0)) y)) (send (cat (exp (gen) (rec ltxa-0)) y)))) (label 54) (parent 42) (unrealized (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (defstrand ltx-gen 1 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (deflistener (cat (exp (gen) (rec l)) y)) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 2) (4 0)) ((3 1) (0 2)) ((4 1) (3 0))) (non-orig l) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (rec l)) y)) (exp (gen) (mul y (rec l))) (3 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((send (cat self (exp (gen) l)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa))) ((recv (cat (exp (gen) (rec l)) y)) (send (cat (exp (gen) (rec l)) y)))) (label 55) (parent 47) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxb)))) (defstrand ltx-gen 1 (self self) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxb))) ltxa)) (deflistener (cat (exp (gen) (rec ltxb)) y)) (precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (4 0)) ((3 1) (0 2)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxb)) y)) (exp (gen) (mul y (rec ltxb))) (3 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxb))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxb))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxb))) ltxa))) ((recv (cat (exp (gen) (rec ltxb)) y)) (send (cat (exp (gen) (rec ltxb)) y)))) (label 56) (parent 50) (unrealized (4 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (non-orig ltxa ltxb) (uniq-orig nb) (uniq-gen ltxa ltxb y) (absent (y ltxa) (y ltxb) (y x)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb))))) (label 57) (unrealized (0 0) (0 3)) (preskeleton) (origs (nb (0 2))) (comment "Not a skeleton")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (precedes ((1 0) (0 0)) ((2 0) (0 0))) (non-orig ltxa ltxb) (uniq-orig nb) (uniq-gen ltxa ltxb y) (absent (y ltxa) (y ltxb) (y x)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb))))) (label 58) (parent 57) (unrealized (0 3)) (origs (nb (0 2))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y rndx) (x expt) (ltxb rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxb)) (precedes ((1 0) (0 0))) (non-orig ltxb) (uniq-orig nb) (uniq-gen y ltxb) (absent (y x) (y ltxb)) (operation collapsed 2 1) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (recv nb)) ((send (cat self (exp (gen) ltxb))))) (label 59) (parent 58) (unrealized (0 3)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 1)) ((3 3) (0 3))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-strand init 4) nb (0 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x))))) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb))) (label 60) (parent 58) (unrealized (0 1) (3 2)) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))) (non-orig ltxa ltxb) (uniq-orig nb) (uniq-gen ltxa ltxb y) (absent (y ltxa) (y ltxb) (y x)) (operation nonce-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) nb (0 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 61) (parent 58) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul y (rec ltxa) ltxb-0))) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-strand init 4) nb (0 3) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x))))) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul y (rec ltxa) ltxb-0)) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb))) (label 62) (parent 59) (unrealized (0 1) (2 2)) (origs (na (2 1)) (nb (0 2))) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y rndx) (x expt) (ltxb rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxb)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3))) (non-orig ltxb) (uniq-orig nb) (uniq-gen y ltxb) (absent (y x) (y ltxb)) (operation nonce-test (added-listener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) nb (0 3) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (recv nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (label 63) (parent 59) (unrealized (2 0)) (origs (nb (0 2))) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0)) ((3 1) (0 1)) ((3 3) (0 3))) (non-orig ltxa ltxb-0) (uniq-orig na nb) (uniq-gen y ltxa x ltxb-0) (absent (y ltxa) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (displaced 4 0 resp 3) (exp (gen) y) (3 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb))) (label 64) (parent 60) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 1)) ((3 3) (0 3)) ((4 1) (3 2))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (exp (gen) (mul ltxa y (rec ltxa-0))) (3 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0)))) (label 65) (parent 60) (unrealized (0 1) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 1)) ((3 3) (0 3)) ((4 1) (3 2))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (exp (gen) (mul ltxa y (rec ltxa-0))) (3 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (send (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)))) (label 66) (parent 60) (unrealized (0 1) (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)) ((4 1) (3 0))) (non-orig ltxa ltxb) (uniq-orig nb) (uniq-gen ltxa ltxb y) (absent (y ltxa) (y ltxb) (y x)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 67) (parent 61) (unrealized (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb) (x x) (y y)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxb) (x ltxb-0)) (operation nonce-test (displaced 3 0 resp 3) (exp (gen) y) (2 2)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb))) (label 68) (parent 62) (unrealized (0 1)) (origs (nb (0 2)) (na (2 1))) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul y (rec ltxa) ltxb-0))) (deflistener (cat (exp (gen) (mul y ltxb-0)) ltxa)) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul y ltxb-0)) ltxa)) (exp (gen) (mul y (rec ltxa) ltxb-0)) (2 2)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul y (rec ltxa) ltxb-0)) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul y ltxb-0)) ltxa)) (send (cat (exp (gen) (mul y ltxb-0)) ltxa)))) (label 69) (parent 62) (unrealized (0 1) (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul y (rec ltxa) ltxb-0))) (deflistener (cat (exp (gen) (mul (rec ltxa) ltxb-0)) y)) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxa) ltxb-0)) y)) (exp (gen) (mul y (rec ltxa) ltxb-0)) (2 2)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul y (rec ltxa) ltxb-0)) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul (rec ltxa) ltxb-0)) y)) (send (cat (exp (gen) (mul (rec ltxa) ltxb-0)) y)))) (label 70) (parent 62) (unrealized (0 1) (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y rndx) (x expt) (ltxb rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxb)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))) (non-orig ltxb) (uniq-orig nb) (uniq-gen y ltxb) (absent (y x) (y ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))) (2 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (recv nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (label 71) (parent 63) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y x ltxa ltxb rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0)) ((2 0) (3 0)) ((3 1) (0 1)) ((3 3) (0 3))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen y x ltxa ltxb) (absent (y x) (y ltxa) (y ltxb) (x ltxa) (x ltxb)) (operation nonce-test (displaced 4 3 init 2) (exp (gen) x) (0 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul x ltxb)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul x ltxb)))))) (send nb))) (label 72) (parent 64) (realized) (shape) (maps ((0 1 2) ((ltxa ltxa) (ltxb ltxb) (a a) (b b) (y y) (x x) (na na) (nb nb) (self self) (self-0 self-0)))) (origs (na (3 1)) (nb (0 2)))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0)) ((2 0) (4 0)) ((3 1) (4 0)) ((3 3) (0 3)) ((4 1) (0 1))) (non-orig ltxa ltxb-0) (uniq-orig na nb) (uniq-gen y ltxa x ltxb-0) (absent (y ltxa) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (exp (gen) (mul ltxb x (rec ltxb-0))) (0 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (send (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)))) (label 73) (parent 64) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0)) ((2 0) (4 0)) ((3 1) (4 0)) ((3 3) (0 3)) ((4 1) (0 1))) (non-orig ltxa ltxb-0) (uniq-orig na nb) (uniq-gen y ltxa x ltxb-0) (absent (y ltxa) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (exp (gen) (mul ltxb x (rec ltxb-0))) (0 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (send (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)))) (label 74) (parent 64) (unrealized (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 1)) ((3 3) (0 3)) ((4 1) (3 2)) ((5 1) (4 0))) (non-orig ltxa ltxb) (uniq-orig na nb) (uniq-gen ltxa y ltxb x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul ltxa y)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 75) (parent 65) (unrealized (0 1) (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0))) (non-orig ltxa ltxb) (uniq-orig nb) (uniq-gen ltxa ltxb y) (absent (y ltxa) (y ltxb) (y x)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul ltxa y)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 76) (parent 67) (unrealized (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y x ltxb rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxb)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxb) (uniq-orig na nb) (uniq-gen y x ltxb) (absent (y x) (y ltxb) (x ltxb)) (operation nonce-test (displaced 3 2 init 2) (exp (gen) x) (0 1)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (recv nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb))) (label 77) (parent 68) (realized) (shape) (maps ((0 1 1) ((ltxa ltxb) (ltxb ltxb) (a a) (b b) (y y) (x x) (na na) (nb nb) (self self) (self-0 self)))) (origs (na (2 1)) (nb (0 2)))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb) (x x) (y y)) (deflistener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (3 0)) ((2 3) (0 3)) ((3 1) (0 1))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxb) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (exp (gen) (mul ltxb x (rec ltxb-0))) (0 1)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)) (send (cat (exp (gen) (mul ltxb (rec ltxb-0))) x)))) (label 78) (parent 68) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb) (x x) (y y)) (deflistener (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (3 0)) ((2 3) (0 3)) ((3 1) (0 1))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxb) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (exp (gen) (mul ltxb x (rec ltxb-0))) (0 1)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (send (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)))) (label 79) (parent 68) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y (mul y (rec ltxa) ltxb-0))) (deflistener (cat (exp (gen) (mul y ltxb-0)) ltxa)) (deflistener (cat (exp (gen) ltxb-0) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2)) ((4 1) (3 0))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb-0) y)) (exp (gen) (mul y ltxb-0)) (3 0)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul y (rec ltxa) ltxb-0)) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul y ltxb-0)) ltxa)) (send (cat (exp (gen) (mul y ltxb-0)) ltxa))) ((recv (cat (exp (gen) ltxb-0) y)) (send (cat (exp (gen) ltxb-0) y)))) (label 80) (parent 69) (unrealized (0 1) (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y rndx) (x expt) (ltxb rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxb)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) ltxb) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)) ((4 1) (3 0))) (non-orig ltxb) (uniq-orig nb) (uniq-gen y ltxb) (absent (y x) (y ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) y)) (exp (gen) (mul y ltxb)) (3 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (recv nb)) ((send (cat self (exp (gen) ltxb)))) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) ltxb) y)) (send (cat (exp (gen) ltxb) y)))) (label 81) (parent 71) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand ltx-gen 1 (self self-0) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (deflistener (cat (exp (gen) (rec ltxb-0)) x)) (precedes ((0 2) (3 2)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0)) ((2 0) (5 0)) ((3 1) (5 0)) ((3 3) (0 3)) ((4 1) (0 1)) ((5 1) (4 0))) (non-orig ltxa ltxb-0) (uniq-orig na nb) (uniq-gen y ltxa x ltxb-0) (absent (y ltxa) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxb-0)) x)) (exp (gen) (mul x (rec ltxb-0))) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((send (cat self-0 (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (send (cat (exp (gen) (mul x (rec ltxb-0))) ltxb))) ((recv (cat (exp (gen) (rec ltxb-0)) x)) (send (cat (exp (gen) (rec ltxb-0)) x)))) (label 82) (parent 74) (unrealized (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxb-0)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb-0) (ltxb ltxb) (x x) (y y)) (deflistener (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (deflistener (cat (exp (gen) (rec ltxb-0)) x)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (4 0)) ((2 3) (0 3)) ((3 1) (0 1)) ((4 1) (3 0))) (non-orig ltxb-0) (uniq-orig na nb) (uniq-gen y x ltxb-0) (absent (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxb) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxb-0)) x)) (exp (gen) (mul x (rec ltxb-0))) (3 0)) (traces ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxb-0)))) ((recv (cat (exp (gen) ltxb-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb-0)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (cat (exp (gen) (mul x (rec ltxb-0))) ltxb)) (send (cat (exp (gen) (mul x (rec ltxb-0))) ltxb))) ((recv (cat (exp (gen) (rec ltxb-0)) x)) (send (cat (exp (gen) (rec ltxb-0)) x)))) (label 83) (parent 79) (unrealized (4 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa))))) (label 84) (unrealized (0 0) (0 3)) (preskeleton) (origs (nb (0 2))) (comment "Not a skeleton")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (precedes ((1 0) (0 0))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa))))) (label 85) (parent 84) (unrealized (0 3)) (origs (nb (0 2))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-strand init 4) nb (0 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x))))) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb))) (label 86) (parent 85) (unrealized (2 2)) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (operation nonce-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) nb (0 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 87) (parent 85) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen y ltxa x) (absent (y ltxa) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (displaced 3 0 resp 3) (exp (gen) y) (2 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb))) (label 88) (parent 86) (realized) (shape) (maps ((0 1) ((ltxa ltxa) (ltxb ltxb-0) (a a) (b b) (y y) (x (mul ltxb x (rec ltxb-0))) (na na) (nb nb) (self self)))) (origs (nb (0 2)) (na (2 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (exp (gen) (mul ltxa y (rec ltxa-0))) (2 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0)))) (label 89) (parent 86) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (exp (gen) (mul ltxa y (rec ltxa-0))) (2 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (send (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)))) (label 90) (parent 86) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (2 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 91) (parent 87) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2)) ((4 1) (3 0))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul ltxa y)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 92) (parent 89) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)) ((4 1) (3 0))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul ltxa y)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 93) (parent 91) (unrealized (4 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa))))) (label 94) (unrealized (0 0) (0 3)) (preskeleton) (origs (nb (0 2))) (comment "Not a skeleton")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (precedes ((1 0) (0 0))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa))))) (label 95) (parent 94) (unrealized (0 3)) (origs (nb (0 2))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-strand init 4) nb (0 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x))))) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb))) (label 96) (parent 95) (unrealized (2 2)) (comment "3 in cohort - 3 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (operation nonce-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) nb (0 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 97) (parent 95) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxa ltxb x ltxb-0 rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb-0) (y y) (x (mul ltxb x (rec ltxb-0)))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 1)) ((2 3) (0 3))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen y ltxa x) (absent (y ltxa) (y (mul ltxb x (rec ltxb-0))) (y ltxb-0) (x ltxa) (x ltxb)) (operation nonce-test (displaced 3 0 resp 3) (exp (gen) y) (2 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb-0))) (recv (cat na a b (exp (gen) (mul ltxb x (rec ltxb-0))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb))) (label 98) (parent 96) (realized) (shape) (maps ((0 1) ((ltxa ltxa) (ltxb ltxb-0) (a a) (b b) (y y) (x (mul ltxb x (rec ltxb-0))) (na na) (nb nb) (self self)))) (origs (nb (0 2)) (na (2 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (exp (gen) (mul ltxa y (rec ltxa-0))) (2 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0)))) (label 99) (parent 96) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (exp (gen) (mul ltxa y (rec ltxa-0))) (2 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (send (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)))) (label 100) (parent 96) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (2 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 101) (parent 97) (unrealized (3 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxa-0 ltxb ltxb-0 x rndx)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul (rec ltxb) ltxb-0 x))) (defstrand ltx-gen 1 (self self) (l ltxa)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb-0) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 1)) ((2 3) (0 3)) ((3 1) (2 2)) ((4 1) (3 0))) (non-orig ltxa) (uniq-orig na nb) (uniq-gen ltxa y x) (absent (y ltxa) (y (mul (rec ltxb) ltxb-0 x)) (y ltxb) (x ltxa-0) (x ltxb-0)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul ltxa y)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul (rec ltxb) ltxb-0 x)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb-0))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb-0 x)))))) (send nb)) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 102) (parent 99) (unrealized (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt)) (defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (defstrand ltx-gen 1 (self self) (l ltxa)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)) ((4 1) (3 0))) (non-orig ltxa) (uniq-orig nb) (uniq-gen ltxa y) (absent (y ltxa) (y ltxb) (y x)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul ltxa y)) (3 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) ((send (cat self (exp (gen) ltxa)))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 103) (parent 101) (unrealized (4 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol dhcr-umx diffie-hellman (defrole init (vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) (uniq-orig na) (uniq-gen x) (absent (x ltxa) (x ltxb)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) y) (gen)))) (defrole resp (vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data)) (trace (recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (recv nb)) (uniq-orig nb) (uniq-gen y) (absent (y ltxa) (y ltxb) (y x)) (fn-of ("principal-of" (ltxa a) (ltxb b)) ("ltx-of" (a ltxa) (b ltxb))) (neq ((exp (gen) x) (gen)))) (defrole ltx-gen (vars (self name) (l rndx)) (trace (send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) (uniq-gen l) (fn-of ("principal-of" (l self)) ("ltx-of" (self l)))) (defgenrule neqRl_indx (forall ((x indx)) (implies (fact neq x x) (false)))) (defgenrule neqRl_strd (forall ((x strd)) (implies (fact neq x x) (false)))) (defgenrule neqRl_mesg (forall ((x mesg)) (implies (fact neq x x) (false))))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (precedes ((0 3) (2 1)) ((0 3) (3 1))) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb))) (label 104) (unrealized (0 0) (0 2) (1 0)) (preskeleton) (origs (na (0 1))) (comment "Not a skeleton")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0))) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb))) (label 105) (parent 104) (unrealized (0 2) (1 0)) (origs (na (0 1))) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxb)) (precedes ((0 1) (1 0)) ((0 3) (2 1)) ((2 0) (0 0))) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation collapsed 3 2) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb))) (label 106) (parent 105) (unrealized (0 2) (1 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((4 1) (1 0))) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))) (1 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (label 107) (parent 105) (unrealized (0 2) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxb)) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (precedes ((0 1) (3 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((3 1) (1 0))) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation encryption-test (added-listener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))) (1 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (label 108) (parent 106) (unrealized (0 2) (3 0)) (origs (na (0 1))) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul ltxb x)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 109) (parent 107) (unrealized (0 2) (5 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxb x rndx) (y expt)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) x) ltxb)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))) (uniq-orig na) (uniq-gen ltxa ltxb x) (absent (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) x) ltxb)) (exp (gen) (mul ltxb x)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb)))) (label 110) (parent 107) (unrealized (0 2) (5 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxb)) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (precedes ((0 1) (4 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((3 1) (1 0)) ((4 1) (3 0))) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) x) ltxb)) (exp (gen) (mul x ltxb)) (3 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb)))) (label 111) (parent 108) (unrealized (0 2) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxb) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxb)) (deflistener (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) ltxb) x)) (precedes ((0 1) (4 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((3 1) (1 0)) ((4 1) (3 0))) (uniq-orig na) (uniq-gen x ltxb) (absent (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxb) x)) (exp (gen) (mul x ltxb)) (3 0)) (traces ((recv (cat (exp (gen) ltxb) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul y ltxb)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) ltxb) x)) (send (cat (exp (gen) ltxb) x)))) (label 112) (parent 108) (unrealized (0 2) (4 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0))) (uniq-orig na) (uniq-gen ltxa x l) (absent (x ltxa) (x l)) (operation nonce-test (displaced 6 3 ltx-gen 3) l (5 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l)))) (label 113) (parent 110) (unrealized (0 2)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (precedes ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0))) (uniq-orig na) (uniq-gen x l) (absent (x l)) (operation nonce-test (displaced 5 2 ltx-gen 3) l (4 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l)))) (label 114) (parent 111) (unrealized (0 2)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y x l ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x (mul x l (rec ltxb)))) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2))) (uniq-orig na nb) (uniq-gen ltxa y x l) (absent (y ltxa-0) (y (mul x l (rec ltxb))) (y ltxb) (x ltxa) (x l)) (operation encryption-test (added-strand resp 3) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x l (rec ltxb))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))))) (label 115) (parent 113) (unrealized (0 2) (6 1)) (comment "5 in cohort - 5 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (0 2))) (uniq-orig na) (uniq-gen ltxa x l) (absent (x ltxa) (x l)) (operation encryption-test (added-listener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (label 116) (parent 113) (unrealized (6 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) l))) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y (mul x (rec ltxb) l)) (y ltxb) (x l)) (operation encryption-test (added-strand resp 3) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) l)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))))) (label 117) (parent 114) (unrealized (0 2) (5 1)) (comment "5 in cohort - 5 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (0 2))) (uniq-orig na) (uniq-gen x l) (absent (x l)) (operation encryption-test (added-listener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))))) (label 118) (parent 114) (unrealized (5 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2))) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (displaced 7 3 ltx-gen 1) (exp (gen) l) (6 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))))) (label 119) (parent 115) (unrealized (0 2)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxa-0)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2))) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (displaced 7 0 init 2) (exp (gen) x) (6 1)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxa-0))) (recv "end-of-protocol") (send ltxa-0)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))))) (label 120) (parent 115) (unrealized (0 2)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y x l ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x (mul x l (rec ltxb)))) (deflistener (cat (exp (gen) (mul x l)) ltxb)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (6 1))) (uniq-orig na nb) (uniq-gen ltxa y x l) (absent (y ltxa-0) (y (mul x l (rec ltxb))) (y ltxb) (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul x l)) ltxb)) (exp (gen) (mul x l (rec ltxb))) (6 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x l (rec ltxb))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x l)) ltxb)) (send (cat (exp (gen) (mul x l)) ltxb)))) (label 121) (parent 115) (unrealized (0 2) (7 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y x l ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x (mul x l (rec ltxb)))) (deflistener (cat (exp (gen) (mul x (rec ltxb))) l)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (6 1))) (uniq-orig na nb) (uniq-gen ltxa y x l) (absent (y ltxa-0) (y (mul x l (rec ltxb))) (y ltxb) (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul x (rec ltxb))) l)) (exp (gen) (mul x l (rec ltxb))) (6 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x l (rec ltxb))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x (rec ltxb))) l)) (send (cat (exp (gen) (mul x (rec ltxb))) l)))) (label 122) (parent 115) (unrealized (0 2) (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y x l ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x (mul x l (rec ltxb)))) (deflistener (cat (exp (gen) (mul l (rec ltxb))) x)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (6 1))) (uniq-orig na nb) (uniq-gen ltxa y x l) (absent (y ltxa-0) (y (mul x l (rec ltxb))) (y ltxb) (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul l (rec ltxb))) x)) (exp (gen) (mul x l (rec ltxb))) (6 1)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x l (rec ltxb))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul l (rec ltxb))) x)) (send (cat (exp (gen) (mul l (rec ltxb))) x)))) (label 123) (parent 115) (unrealized (0 2) (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (0 2)) ((7 1) (6 0))) (uniq-orig na) (uniq-gen ltxa x l) (absent (x ltxa) (x l)) (operation encryption-test (added-listener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))) (6 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (label 124) (parent 116) (unrealized (7 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (displaced 6 2 ltx-gen 1) (exp (gen) l) (5 1)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))))) (label 125) (parent 117) (unrealized (0 2)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (y y) (x x)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y x) (y l) (x l)) (operation nonce-test (displaced 6 0 init 2) (exp (gen) x) (5 1)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))))) (label 126) (parent 117) (unrealized (0 2)) (comment "4 in cohort - 4 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) l))) (deflistener (cat (exp (gen) (mul x (rec ltxb))) l)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2)) ((6 1) (5 1))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y (mul x (rec ltxb) l)) (y ltxb) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul x (rec ltxb))) l)) (exp (gen) (mul x (rec ltxb) l)) (5 1)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) l)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x (rec ltxb))) l)) (send (cat (exp (gen) (mul x (rec ltxb))) l)))) (label 127) (parent 117) (unrealized (6 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) l))) (deflistener (cat (exp (gen) (mul x l)) ltxb)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2)) ((6 1) (5 1))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y (mul x (rec ltxb) l)) (y ltxb) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul x l)) ltxb)) (exp (gen) (mul x (rec ltxb) l)) (5 1)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) l)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x l)) ltxb)) (send (cat (exp (gen) (mul x l)) ltxb)))) (label 128) (parent 117) (unrealized (0 2) (6 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) l))) (deflistener (cat (exp (gen) (mul (rec ltxb) l)) x)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2)) ((6 1) (5 1))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y (mul x (rec ltxb) l)) (y ltxb) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxb) l)) x)) (exp (gen) (mul x (rec ltxb) l)) (5 1)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) l)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul (rec ltxb) l)) x)) (send (cat (exp (gen) (mul (rec ltxb) l)) x)))) (label 129) (parent 117) (unrealized (0 2) (6 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (0 2)) ((6 1) (5 0))) (uniq-orig na) (uniq-gen x l) (absent (x l)) (operation encryption-test (added-listener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))) (5 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))))) (label 130) (parent 118) (unrealized (6 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (7 0)) ((7 1) (0 2))) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)) (exp (gen) (mul (rec ltxa) ltxa-0 y)) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)) (send (cat (exp (gen) (mul (rec ltxa) ltxa-0)) y)))) (label 131) (parent 119) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxa ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (displaced 7 6 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))))))) (label 132) (parent 119) (unrealized (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (7 0)) ((7 1) (0 2))) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (exp (gen) (mul (rec ltxa) ltxa-0 y)) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (send (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)))) (label 133) (parent 119) (unrealized (7 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) ltxa)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (7 0)) ((7 1) (0 2))) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa-0 y)) ltxa)) (exp (gen) (mul (rec ltxa) ltxa-0 y)) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul ltxa-0 y)) ltxa)) (send (cat (exp (gen) (mul ltxa-0 y)) ltxa)))) (label 134) (parent 119) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxa-0)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (7 0)) ((7 1) (0 2))) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa y)) ltxa-0)) (exp (gen) (mul ltxa y (rec ltxa-0))) (0 2)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxa-0))) (recv "end-of-protocol") (send ltxa-0)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul ltxa y)) ltxa-0)) (send (cat (exp (gen) (mul ltxa y)) ltxa-0)))) (label 135) (parent 120) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (6 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxa ltxb x) (absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb)) (operation nonce-test (displaced 7 6 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))))) (label 136) (parent 120) (unrealized (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxa-0)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (7 0)) ((7 1) (0 2))) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (exp (gen) (mul ltxa y (rec ltxa-0))) (0 2)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxa-0))) (recv "end-of-protocol") (send ltxa-0)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)) (send (cat (exp (gen) (mul ltxa (rec ltxa-0))) y)))) (label 137) (parent 120) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxa-0)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (7 0)) ((7 1) (0 2))) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (exp (gen) (mul ltxa y (rec ltxa-0))) (0 2)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxa-0))) (recv "end-of-protocol") (send ltxa-0)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)))) (label 138) (parent 120) (unrealized (7 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y x l ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x (mul x l (rec ltxb)))) (deflistener (cat (exp (gen) (mul x l)) ltxb)) (deflistener (cat (exp (gen) x) l)) (precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (6 1)) ((8 1) (7 0))) (uniq-orig na nb) (uniq-gen ltxa y x l) (absent (y ltxa-0) (y (mul x l (rec ltxb))) (y ltxb) (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) x) l)) (exp (gen) (mul x l)) (7 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x l (rec ltxb))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x l)) ltxb)) (send (cat (exp (gen) (mul x l)) ltxb))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l)))) (label 139) (parent 121) (unrealized (0 2) (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y x l ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x (mul x l (rec ltxb)))) (deflistener (cat (exp (gen) (mul x l)) ltxb)) (deflistener (cat (exp (gen) l) x)) (precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (6 1)) ((8 1) (7 0))) (uniq-orig na nb) (uniq-gen ltxa y x l) (absent (y ltxa-0) (y (mul x l (rec ltxb))) (y ltxb) (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) l) x)) (exp (gen) (mul x l)) (7 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x l (rec ltxb))))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x l)) ltxb)) (send (cat (exp (gen) (mul x l)) ltxb))) ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x)))) (label 140) (parent 121) (unrealized (0 2) (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (0 2)) ((7 1) (6 0)) ((8 1) (7 0))) (uniq-orig na) (uniq-gen ltxa x l) (absent (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) x) l)) (exp (gen) (mul x l)) (7 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l)))) (label 141) (parent 124) (unrealized (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) l) x)) (precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (0 2)) ((7 1) (6 0)) ((8 1) (7 0))) (uniq-orig na) (uniq-gen ltxa x l) (absent (x ltxa) (x l)) (operation nonce-test (added-listener (cat (exp (gen) l) x)) (exp (gen) (mul x l)) (7 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x)))) (label 142) (parent 124) (unrealized (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul ltxa y)) l)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (6 0)) ((6 1) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa y)) l)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul ltxa y)) l)) (send (cat (exp (gen) (mul ltxa y)) l)))) (label 143) (parent 125) (unrealized (6 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxb) (y l) (ltxb l)) (operation nonce-test (displaced 6 5 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))))) (label 144) (parent 125) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul ltxa (rec l))) y)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (6 0)) ((6 1) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec l))) y)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul ltxa (rec l))) y)) (send (cat (exp (gen) (mul ltxa (rec l))) y)))) (label 145) (parent 125) (unrealized (6 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (6 0)) ((6 1) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (mul y (rec l))) ltxa)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa)))) (label 146) (parent 125) (unrealized (6 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (y y) (x x)) (deflistener (cat (exp (gen) (mul ltxa y)) l)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (6 0)) ((6 1) (0 2))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y x) (y l) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa y)) l)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul ltxa y)) l)) (send (cat (exp (gen) (mul ltxa y)) l)))) (label 147) (parent 126) (unrealized (6 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y l x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (y y) (x x)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2))) (uniq-orig na nb) (uniq-gen y l x) (absent (y l) (y x) (x l)) (operation nonce-test (displaced 6 5 resp 3) (exp (gen) y) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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 x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul l x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul l x))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) l) (exp (gen) l))) (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 x)))))))) (label 148) (parent 126) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (y y) (x x)) (deflistener (cat (exp (gen) (mul ltxa (rec l))) y)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (6 0)) ((6 1) (0 2))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y x) (y l) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul ltxa (rec l))) y)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul ltxa (rec l))) y)) (send (cat (exp (gen) (mul ltxa (rec l))) y)))) (label 149) (parent 126) (unrealized (6 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (6 0)) ((6 1) (0 2))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y x) (y l) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (mul y (rec l))) ltxa)) (exp (gen) (mul ltxa y (rec l))) (0 2)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa)))) (label 150) (parent 126) (unrealized (6 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) l))) (deflistener (cat (exp (gen) (mul x l)) ltxb)) (deflistener (cat (exp (gen) x) l)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2)) ((6 1) (5 1)) ((7 1) (6 0))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y (mul x (rec ltxb) l)) (y ltxb) (x l)) (operation nonce-test (added-listener (cat (exp (gen) x) l)) (exp (gen) (mul x l)) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) l)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x l)) ltxb)) (send (cat (exp (gen) (mul x l)) ltxb))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l)))) (label 151) (parent 128) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x (mul x (rec ltxb) l))) (deflistener (cat (exp (gen) (mul x l)) ltxb)) (deflistener (cat (exp (gen) l) x)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (0 2)) ((6 1) (5 1)) ((7 1) (6 0))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y (mul x (rec ltxb) l)) (y ltxb) (x l)) (operation nonce-test (added-listener (cat (exp (gen) l) x)) (exp (gen) (mul x l)) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) (mul x (rec ltxb) l)))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul x l)) ltxb)) (send (cat (exp (gen) (mul x l)) ltxb))) ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x)))) (label 152) (parent 128) (unrealized (0 2) (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (0 2)) ((6 1) (5 0)) ((7 1) (6 0))) (uniq-orig na) (uniq-gen x l) (absent (x l)) (operation nonce-test (added-listener (cat (exp (gen) x) l)) (exp (gen) (mul x l)) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l)))) (label 153) (parent 130) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (x rndx) (y expt) (l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) l) x)) (precedes ((0 1) (7 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 1) (0 2)) ((6 1) (5 0)) ((7 1) (6 0))) (uniq-orig na) (uniq-gen x l) (absent (x l)) (operation nonce-test (added-listener (cat (exp (gen) l) x)) (exp (gen) (mul x l)) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x)))) (label 154) (parent 130) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) y) ltxa)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((6 2) (7 0)) ((7 1) (4 0))) (uniq-orig na nb) (uniq-gen y ltxa ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) y) ltxa)) (exp (gen) (mul y ltxa)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) y) ltxa)) (send (cat (exp (gen) y) ltxa)))) (label 155) (parent 132) (unrealized (7 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((6 2) (7 0)) ((7 1) (4 0))) (uniq-orig na nb) (uniq-gen y ltxa ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul y ltxa)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 156) (parent 132) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (deflistener (cat (exp (gen) (rec ltxa)) y)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (8 0)) ((7 1) (0 2)) ((8 1) (7 0))) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxa)) y)) (exp (gen) (mul (rec ltxa) y)) (7 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (send (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0))) ((recv (cat (exp (gen) (rec ltxa)) y)) (send (cat (exp (gen) (rec ltxa)) y)))) (label 157) (parent 133) (unrealized (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa ltxa-0 y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x ltxb) (y (mul (rec ltxa) ltxa-0 y))) (deflistener (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (deflistener (cat (exp (gen) y) ltxa)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (8 0)) ((7 1) (0 2)) ((8 1) (7 0))) (uniq-orig na nb) (uniq-gen ltxa y ltxb l) (absent (y ltxa-0) (y ltxb) (y l) (ltxb ltxa) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) y) ltxa)) (exp (gen) (mul (rec ltxa) y)) (7 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul (rec ltxa) ltxa-0 y)) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa-0 y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0)) (send (cat (exp (gen) (mul (rec ltxa) y)) ltxa-0))) ((recv (cat (exp (gen) y) ltxa)) (send (cat (exp (gen) y) ltxa)))) (label 158) (parent 133) (unrealized (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) y) ltxa)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (6 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((6 2) (7 0)) ((7 1) (4 0))) (uniq-orig na nb) (uniq-gen y ltxa ltxb x) (absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) y) ltxa)) (exp (gen) (mul y ltxa)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) y) ltxa)) (send (cat (exp (gen) y) ltxa)))) (label 159) (parent 136) (unrealized (7 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxa ltxb x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l ltxa)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) ltxa) y)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (6 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((6 2) (7 0)) ((7 1) (4 0))) (uniq-orig na nb) (uniq-gen y ltxa ltxb x) (absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) ltxa) y)) (exp (gen) (mul y ltxa)) (4 0)) (traces ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) ltxa))) (recv "end-of-protocol") (send ltxa)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y ltxa)) (exp (gen) (mul ltxb x))))))) ((recv (cat (exp (gen) ltxa) y)) (send (cat (exp (gen) ltxa) y)))) (label 160) (parent 136) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxa-0)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (deflistener (cat (exp (gen) y) ltxa-0)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (8 0)) ((7 1) (0 2)) ((8 1) (7 0))) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) y) ltxa-0)) (exp (gen) (mul y (rec ltxa-0))) (7 0)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxa-0))) (recv "end-of-protocol") (send ltxa-0)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxa-0))) ltxa))) ((recv (cat (exp (gen) y) ltxa-0)) (send (cat (exp (gen) y) ltxa-0)))) (label 161) (parent 138) (unrealized (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (ltxa y x ltxa-0 ltxb rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa-0) (ltxb ltxb) (x x) (y (mul ltxa y (rec ltxa-0)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (defstrand ltx-gen 3 (self self) (l ltxa-0)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (deflistener (cat (exp (gen) (rec ltxa-0)) y)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (8 0)) ((7 1) (0 2)) ((8 1) (7 0))) (uniq-orig na nb) (uniq-gen y x ltxa-0 ltxb) (absent (y ltxa) (y x) (y ltxb) (x ltxa-0) (x ltxb)) (operation nonce-test (added-listener (cat (exp (gen) (rec ltxa-0)) y)) (exp (gen) (mul y (rec ltxa-0))) (7 0)) (traces ((recv (cat (exp (gen) ltxa-0) (exp (gen) ltxb))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec ltxa-0))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((send (cat self (exp (gen) ltxa-0))) (recv "end-of-protocol") (send ltxa-0)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x ltxb))))))) ((recv (cat (exp (gen) (mul y (rec ltxa-0))) ltxa)) (send (cat (exp (gen) (mul y (rec ltxa-0))) ltxa))) ((recv (cat (exp (gen) (rec ltxa-0)) y)) (send (cat (exp (gen) (rec ltxa-0)) y)))) (label 162) (parent 138) (unrealized (8 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (4 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (3 0)) ((3 1) (1 0)) ((4 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxb) (y l) (ltxb l)) (operation generalization deleted (3 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))))) (label 163) (parent 144) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (deflistener (cat (exp (gen) y) l)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (7 0)) ((6 1) (0 2)) ((7 1) (6 0))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) y) l)) (exp (gen) (mul y (rec l))) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa))) ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))) (label 164) (parent 146) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (deflistener (cat (exp (gen) (rec l)) y)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (7 0)) ((6 1) (0 2)) ((7 1) (6 0))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxa) (y ltxb) (y l) (ltxb l)) (operation nonce-test (added-listener (cat (exp (gen) (rec l)) y)) (exp (gen) (mul y (rec l))) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa))) ((recv (cat (exp (gen) (rec l)) y)) (send (cat (exp (gen) (rec l)) y)))) (label 165) (parent 146) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y l x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (y y) (x x)) (precedes ((0 1) (4 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (4 0)) ((2 2) (3 0)) ((3 1) (1 0)) ((4 2) (0 2))) (uniq-orig na nb) (uniq-gen y l x) (absent (y l) (y x) (x l)) (operation generalization deleted (3 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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 x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul l x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) l) (exp (gen) l))) (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 x)))))))) (label 166) (parent 148) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (deflistener (cat (exp (gen) y) l)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (7 0)) ((6 1) (0 2)) ((7 1) (6 0))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y x) (y l) (x l)) (operation nonce-test (added-listener (cat (exp (gen) y) l)) (exp (gen) (mul y (rec l))) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa))) ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))) (label 167) (parent 150) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (ltxa y x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y (mul ltxa y (rec l)))) (deflistener (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (defstrand ltx-gen 3 (self self) (l l)) (deflistener (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (deflistener (cat (exp (gen) x) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (y y) (x x)) (deflistener (cat (exp (gen) (mul y (rec l))) ltxa)) (deflistener (cat (exp (gen) (rec l)) y)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (4 0)) ((3 1) (1 0)) ((4 1) (3 0)) ((5 2) (7 0)) ((6 1) (0 2)) ((7 1) (6 0))) (uniq-orig na nb) (uniq-gen y x l) (absent (y ltxa) (y x) (y l) (x l)) (operation nonce-test (added-listener (cat (exp (gen) (rec l)) y)) (exp (gen) (mul y (rec l))) (6 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) x))) (recv (cat (exp (gen) (mul ltxa y (rec l))) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))))) (send nb)) ((recv (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l)))) (send (cat (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))) ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))) ((recv (cat (exp (gen) ltxa) (exp (gen) l))) (recv (cat na a b (exp (gen) x))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul ltxa y)) (exp (gen) (mul x l))))))) ((recv (cat (exp (gen) (mul y (rec l))) ltxa)) (send (cat (exp (gen) (mul y (rec l))) ltxa))) ((recv (cat (exp (gen) (rec l)) y)) (send (cat (exp (gen) (rec l)) y)))) (label 168) (parent 150) (unrealized (7 0)) (dead) (comment "empty cohort")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb l l-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l-0)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) y) l-0)) (precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (7 0)) ((3 0) (0 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (4 0))) (uniq-orig na nb) (uniq-gen y ltxb l l-0) (absent (y ltxb) (y l) (y l-0) (ltxb l) (ltxb l-0)) (operation nonce-test (displaced 8 2 ltx-gen 3) l-0 (7 0)) (traces ((recv (cat (exp (gen) l-0) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l-0))) (recv "end-of-protocol") (send l-0)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) l-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))) (label 169) (parent 155) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l l)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) y) l)) (precedes ((0 1) (6 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (6 0)) ((2 2) (7 0)) ((3 0) (0 0)) ((3 0) (6 0)) ((3 2) (5 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 2) (0 2)) ((7 1) (4 0))) (uniq-orig na nb) (uniq-gen y ltxb x l) (absent (y ltxb) (y x) (y l) (x ltxb) (x l)) (operation nonce-test (displaced 8 2 ltx-gen 3) l (7 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (send (cat (exp (gen) (mul y l)) (exp (gen) (mul ltxb x))))) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x))))))) ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))) (label 170) (parent 159) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y ltxb l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (3 0)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 2) (1 0)) ((3 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l) (absent (y ltxb) (y l) (ltxb l)) (operation generalization deleted (3 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb l)))))))) (label 171) (parent 163) (realized) (shape) (maps ((0 1 2 2) ((ltxa l) (ltxb l) (x ltxb) (y y) (a a) (b b) (na na) (nb nb) (self self) (self-0 self)))) (origs (nb (3 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self name) (y l x rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (defstrand ltx-gen 3 (self self) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb l) (y y) (x x)) (precedes ((0 1) (3 1)) ((0 3) (2 1)) ((2 0) (0 0)) ((2 0) (3 0)) ((2 2) (1 0)) ((3 2) (0 2))) (uniq-orig na nb) (uniq-gen y l x) (absent (y l) (y x) (x l)) (operation generalization deleted (3 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) l))) (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 x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul l x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul l x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) l) (exp (gen) l))) (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 x)))))))) (label 172) (parent 166) (realized) (shape) (maps ((0 1 2 2) ((ltxa l) (ltxb l) (x x) (y y) (a a) (b b) (na na) (nb nb) (self self) (self-0 self)))) (origs (nb (3 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb l l-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l-0)) (defstrand ltx-gen 3 (self self-0) (l l)) (deflistener (cat (exp (gen) ltxb) l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) y) l-0)) (precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (4 0)) ((4 1) (1 0)) ((5 2) (0 2)) ((6 1) (1 0))) (uniq-orig na nb) (uniq-gen y ltxb l l-0) (absent (y ltxb) (y l) (y l-0) (ltxb l) (ltxb l-0)) (operation generalization deleted (4 0)) (traces ((recv (cat (exp (gen) l-0) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l-0))) (recv "end-of-protocol") (send l-0)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) ltxb) l)) (send (cat (exp (gen) ltxb) l))) ((recv (cat (exp (gen) l-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))) (label 173) (parent 169) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l l)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (deflistener (cat (exp (gen) x) ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) y) l)) (precedes ((0 1) (5 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (5 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 0) (5 0)) ((3 2) (4 0)) ((4 1) (1 0)) ((5 2) (0 2)) ((6 1) (1 0))) (uniq-orig na nb) (uniq-gen y ltxb x l) (absent (y ltxb) (y x) (y l) (x ltxb) (x l)) (operation generalization deleted (4 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) x) ltxb)) (send (cat (exp (gen) x) ltxb))) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x))))))) ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))) (label 174) (parent 170) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb l l-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l-0)) (defstrand ltx-gen 3 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb ltxb) (y y) (x l)) (deflistener (cat (exp (gen) y) l-0)) (precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (5 0)) ((3 0) (0 0)) ((3 2) (1 0)) ((4 2) (0 2)) ((5 1) (1 0))) (uniq-orig na nb) (uniq-gen y ltxb l l-0) (absent (y ltxb) (y l) (y l-0) (ltxb l) (ltxb l-0)) (operation generalization deleted (4 0)) (traces ((recv (cat (exp (gen) l-0) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l-0))) (recv "end-of-protocol") (send l-0)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) l-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))))) ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))) (label 175) (parent 173) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l l)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x x)) (deflistener (cat (exp (gen) y) l)) (precedes ((0 1) (4 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (4 0)) ((2 2) (5 0)) ((3 0) (0 0)) ((3 0) (4 0)) ((3 2) (1 0)) ((4 2) (0 2)) ((5 1) (1 0))) (uniq-orig na nb) (uniq-gen y ltxb x l) (absent (y ltxb) (y x) (y l) (x ltxb) (x l)) (operation generalization deleted (4 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x))))))) ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))) (label 176) (parent 174) (realized) (comment "1 in cohort - 1 not yet seen")) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb l l-0 rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb l) (x ltxb) (y y)) (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (defstrand ltx-gen 3 (self self) (l l-0)) (defstrand ltx-gen 3 (self self-0) (l l)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l-0) (ltxb ltxb) (y y) (x l)) (precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (1 0)) ((3 0) (0 0)) ((3 2) (1 0)) ((4 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb l l-0) (absent (y ltxb) (y l) (y l-0) (ltxb l) (ltxb l-0)) (operation generalization deleted (5 0)) (traces ((recv (cat (exp (gen) l-0) (exp (gen) l))) (send (cat na a b (exp (gen) ltxb))) (recv (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))))) (send nb)) ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))) (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l))))) ((send (cat self (exp (gen) l-0))) (recv "end-of-protocol") (send l-0)) ((send (cat self-0 (exp (gen) l))) (recv "end-of-protocol") (send l)) ((recv (cat (exp (gen) l-0) (exp (gen) ltxb))) (recv (cat na a b (exp (gen) l))) (send (cat (exp (gen) y) (enc na nb a b (hash (exp (gen) (mul y l-0)) (exp (gen) (mul ltxb l)))))))) (label 177) (parent 175) (realized) (shape) (maps ((0 1 2 3) ((ltxa l-0) (ltxb l) (x ltxb) (y y) (a a) (b b) (na na) (nb nb) (self self) (self-0 self-0)))) (origs (nb (4 2)) (na (0 1)))) (defskeleton dhcr-umx (vars (na nb data) (a b self self-0 name) (y ltxb x l rndx)) (defstrand init 4 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y)) (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (defstrand ltx-gen 3 (self self) (l l)) (defstrand ltx-gen 3 (self self-0) (l ltxb)) (defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (y y) (x x)) (precedes ((0 1) (4 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 0) (4 0)) ((2 2) (1 0)) ((3 0) (0 0)) ((3 0) (4 0)) ((3 2) (1 0)) ((4 2) (0 2))) (uniq-orig na nb) (uniq-gen y ltxb x l) (absent (y ltxb) (y x) (y l) (x ltxb) (x l)) (operation generalization deleted (5 0)) (traces ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x)))))) (send nb)) ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x)))) (send (hash (exp (gen) (mul y l)) (exp (gen) (mul ltxb x))))) ((send (cat self (exp (gen) l))) (recv "end-of-protocol") (send l)) ((send (cat self-0 (exp (gen) ltxb))) (recv "end-of-protocol") (send ltxb)) ((recv (cat (exp (gen) l) (exp (gen) ltxb))) (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 ltxb x)))))))) (label 178) (parent 176) (realized) (shape) (maps ((0 1 2 3) ((ltxa l) (ltxb ltxb) (x x) (y y) (a a) (b b) (na na) (nb nb) (self self) (self-0 self-0)))) (origs (nb (4 2)) (na (0 1)))) (comment "Nothing left to do")