(herald "Station-to-station protocol" (algebra diffie-hellman)) (comment "CPSA 3.4.0") (comment "All input read from station.scm") (defprotocol station-to-station diffie-hellman (defrole init (vars (x expn) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) (uniq-gen x)) (defrole resp (vars (y expn) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) (uniq-gen y) (absent (y h)))) (defskeleton station-to-station (vars (a b name) (h base) (x expn)) (defstrand init 3 (a a) (b b) (h h) (x x)) (non-orig (privk a) (privk b)) (uniq-gen x) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))) (label 0) (unrealized (0 1)) (origs) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (1 1)) ((1 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation encryption-test (added-strand init 3) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 1) (parent 0) (unrealized (1 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation encryption-test (added-strand resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 2) (parent 0) (unrealized) (shape) (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y))))) (origs)) (defskeleton station-to-station (vars (a b name) (h base) (x expn)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation encryption-test (added-listener (exp h x)) (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x)))) (label 3) (parent 0) (unrealized (0 1) (1 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (1 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 4) (parent 1) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x)) (deflistener (gen)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (rec x)) (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b)) (gen)))) (send (enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen)))) ((recv (gen)) (send (gen)))) (label 5) (parent 3) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x expn)) (defstrand init 3 (a a) (b b) (h (gen)) (x x)) (deflistener (exp (gen) x)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (gen) (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x)))) (send (enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x)))) ((recv (exp (gen) x)) (send (exp (gen) x)))) (label 6) (parent 3) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x)) (deflistener (exp (gen) x-0)) (defstrand init 1 (x x-0)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) x-0)) (enc (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b)) (exp (gen) x-0)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a)) (exp (gen) x-0)))) ((recv (exp (gen) x-0)) (send (exp (gen) x-0))) ((send (exp (gen) x-0)))) (label 7) (parent 3) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x)) (deflistener (exp (gen) y)) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0))) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) y)) (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b)) (exp (gen) y)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 8) (parent 3) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (h base) (x expn) (w expr)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (deflistener (cat (exp h (mul x (rec w))) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w)) (exp h x) (1 0)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x))) ((recv (cat (exp h (mul x (rec w))) w)) (send (cat (exp h (mul x (rec w))) w)))) (label 9) (parent 3) (unrealized (0 1) (2 0)) (comment "4 in cohort - 4 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (3 0)) (operation nonce-test (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w)) (exp (gen) (mul x x-0)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) (mul x x-0 (rec w))) w)) (send (cat (exp (gen) (mul x x-0 (rec w))) w)))) (label 10) (parent 4) (unrealized (3 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b name) (x expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x)) (deflistener (exp (gen) w)) (deflistener (cat (gen) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w)))) (gen) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w)) (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b)) (exp (gen) w)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a)) (exp (gen) w)))) ((recv (exp (gen) w)) (send (exp (gen) w))) ((recv (cat (gen) w)) (send (cat (gen) w)))) (label 11) (parent 9) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (w expr) (x expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) w)) (x x)) (deflistener (exp (gen) (mul w x))) (deflistener (cat (exp (gen) x) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) w) (enc (enc (exp (gen) w) (exp (gen) x) (privk b)) (exp (gen) (mul w x))))) (send (enc (enc (exp (gen) x) (exp (gen) w) (privk a)) (exp (gen) (mul w x))))) ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x)))) ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))) (label 12) (parent 9) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x expn) (w expr) (x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0))) (x x)) (deflistener (exp (gen) (mul w x-0))) (deflistener (cat (exp (gen) x-0) w)) (defstrand init 1 (x x-0)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w x-0)) (enc (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x) (privk b)) (exp (gen) (mul w x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a)) (exp (gen) (mul w x-0))))) ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0)))) ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))) ((send (exp (gen) x-0)))) (label 13) (parent 9) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x expn) (w expr) (y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w y)) (enc (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b)) (exp (gen) (mul w y))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 14) (parent 9) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (3 0)) (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0))) (gen) (3 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))) (label 15) (parent 10) (unrealized (2 0) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen x x-0) (operation nonce-test (displaced 4 0 init 1) (exp (gen) x-1) (3 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 16) (parent 10) (unrealized (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen x x-0) (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-1) (3 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 17) (parent 10) (unrealized (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (defstrand init 1 (x x-1)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0)) ((4 0) (3 0))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen x x-0 x-1) (operation nonce-test (added-strand init 1) (exp (gen) x-1) (3 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))) ((send (exp (gen) x-1)))) (label 18) (parent 10) (unrealized (2 0) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x x-0 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x x-0 (rec y)))) (defstrand resp 2 (b b-1) (h h) (y y)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0)) ((4 1) (3 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen x x-0 y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (3 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x x-0 (rec y)))) (send (cat (exp (gen) y) (mul x x-0 (rec y))))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))))) (label 19) (parent 10) (unrealized (2 0) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 20) (parent 11) (unrealized (1 0) (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (gen) (mul x y))) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 21) (parent 11) (unrealized (1 0) (2 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 22) (parent 12) (unrealized (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x) y)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 23) (parent 12) (unrealized (2 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation encryption-test (displaced 3 4 init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 24) (parent 13) (unrealized (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0 x-1) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))))) (label 25) (parent 13) (unrealized (1 0) (2 0) (4 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x x-0 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y))) (defstrand init 1 (x x-0)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0 y) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y))) (send (cat (exp (gen) x-0) (mul x (rec x-0) y)))) ((send (exp (gen) x-0))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 26) (parent 13) (unrealized (1 0) (2 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 2) (0 1))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y x-0) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 27) (parent 14) (unrealized (1 0) (2 0) (4 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation encryption-test (displaced 4 3 resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 28) (parent 14) (unrealized (2 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x y y-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) y-0)) (x x)) (deflistener (exp (gen) (mul x y-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) y-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y-0)) (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0))) (absent (y-0 (exp (gen) x)) (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y y-0) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))) (send (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0))))) ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) y-0))) (send (cat (exp (gen) y) (mul x (rec y) y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))))) (label 29) (parent 14) (unrealized (1 0) (2 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 30) (parent 20) (unrealized (1 0) (2 0) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 31) (parent 22) (unrealized (2 0) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 32) (parent 24) (unrealized (2 0) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1)) ((5 1) (4 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x x-0 x-1) (operation encryption-test (added-listener (exp (gen) (mul x x-1))) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))) (4 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))) (label 33) (parent 25) (unrealized (1 0) (2 0) (5 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1)) ((5 1) (4 1))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y x-0) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))) (4 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 34) (parent 27) (unrealized (1 0) (2 0) (5 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) (mul x x-0 (rec w))) w)) (send (cat (exp (gen) (mul x x-0 (rec w))) w)))) (label 35) (parent 30) (unrealized (1 0) (2 0) (5 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) (mul x x-0 (rec w))) w)) (send (cat (exp (gen) (mul x x-0 (rec w))) w)))) (label 36) (parent 31) (unrealized (2 0) (5 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) (mul x x-0 (rec w))) w)) (send (cat (exp (gen) (mul x x-0 (rec w))) w)))) (label 37) (parent 32) (unrealized (2 0) (5 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) (mul x x-1 (rec w))) w)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (added-listener (cat (exp (gen) (mul x x-1 (rec w))) w)) (exp (gen) (mul x x-1)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) (mul x x-1 (rec w))) w)) (send (cat (exp (gen) (mul x x-1 (rec w))) w)))) (label 38) (parent 33) (unrealized (1 0) (2 0) (6 0)) (comment "6 in cohort - 6 not yet seen")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 expn) (w expr)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) (mul x x-0 (rec w))) w)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x y x-0) (operation nonce-test (added-listener (cat (exp (gen) (mul x x-0 (rec w))) w)) (exp (gen) (mul x x-0)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) (mul x x-0 (rec w))) w)) (send (cat (exp (gen) (mul x x-0 (rec w))) w)))) (label 39) (parent 34) (unrealized (1 0) (2 0) (6 0)) (comment "6 in cohort - 6 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0))) (gen) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))) (label 40) (parent 35) (unrealized (1 0) (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 41) (parent 35) (unrealized (1 0) (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 42) (parent 35) (unrealized (1 0) (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (defstrand init 1 (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 0) (5 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))) ((send (exp (gen) x-1)))) (label 43) (parent 35) (unrealized (1 0) (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x x-0 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x x-0 (rec y)))) (defstrand resp 2 (b b-1) (h h) (y y)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0 y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x x-0 (rec y)))) (send (cat (exp (gen) y) (mul x x-0 (rec y))))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))))) (label 44) (parent 35) (unrealized (1 0) (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0))) (gen) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))) (label 45) (parent 36) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 46) (parent 36) (unrealized (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 47) (parent 36) (unrealized (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (defstrand init 1 (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 0) (5 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))) ((send (exp (gen) x-1)))) (label 48) (parent 36) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x x-0 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x x-0 (rec y)))) (defstrand resp 2 (b b-1) (h h) (y y)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0 y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x x-0 (rec y)))) (send (cat (exp (gen) y) (mul x x-0 (rec y))))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))))) (label 49) (parent 36) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0))) (gen) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))) (label 50) (parent 37) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (displaced 6 0 init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 51) (parent 37) (unrealized (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0) (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 52) (parent 37) (unrealized (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (defstrand init 1 (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 0) (5 0))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (added-strand init 1) (exp (gen) x-1) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))) ((send (exp (gen) x-1)))) (label 53) (parent 37) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x x-0 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x x-0 (rec y)))) (defstrand resp 2 (b b-1) (h h) (y y)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x x-0 y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x x-0 (rec y)))) (send (cat (exp (gen) y) (mul x x-0 (rec y))))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))))) (label 54) (parent 37) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (defstrand init 1 (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (gen) (mul x-0 x-1))) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (contracted (x-2 x-0) (x-3 x-1) (w (mul x-0 x-1))) (gen) (6 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (send (cat (exp (gen) x) (mul (rec x) x-0 x-1)))) ((send (exp (gen) x))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (gen) (mul x-0 x-1))) (send (cat (gen) (mul x-0 x-1))))) (label 55) (parent 38) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x-1)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (defstrand init 1 (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-1)) (x x-0)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x-1) x-0)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-2) (6 0)) (traces ((send (exp (gen) x-1)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk a)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (send (cat (exp (gen) x) (mul (rec x) x-0 x-1)))) ((send (exp (gen) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x-1) x-0)) (send (cat (exp (gen) x-1) x-0)))) (label 56) (parent 38) (unrealized (1 0) (2 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (defstrand init 1 (x x-1)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (6 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (displaced 7 3 init 1) (exp (gen) x-2) (6 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))) ((send (exp (gen) x-1))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))))) (label 57) (parent 38) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (defstrand init 1 (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x-1) x-0)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1) (operation nonce-test (displaced 7 4 init 1) (exp (gen) x-2) (6 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (send (cat (exp (gen) x) (mul (rec x) x-0 x-1)))) ((send (exp (gen) x))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x-1) x-0)) (send (cat (exp (gen) x-1) x-0)))) (label 58) (parent 38) (unrealized (1 0) (2 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 x-2 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (defstrand init 1 (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2)))) (defstrand init 1 (x x-2)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)) ((7 0) (6 0))) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1 x-2) (operation nonce-test (added-strand init 1) (exp (gen) x-2) (6 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (send (cat (exp (gen) x) (mul (rec x) x-0 x-1)))) ((send (exp (gen) x))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2)))) (send (cat (exp (gen) x-2) (mul x-0 x-1 (rec x-2))))) ((send (exp (gen) x-2)))) (label 59) (parent 38) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x x-0 x-1 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x-0)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (defstrand init 1 (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x-0)) (x x-1)) (deflistener (exp (gen) (mul x-0 x-1))) (deflistener (cat (exp (gen) y) (mul x-0 x-1 (rec y)))) (defstrand resp 2 (b b-1) (h h) (y y)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)) ((7 1) (6 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 x-1 y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (6 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk a)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) x) (mul (rec x) x-0 x-1))) (send (cat (exp (gen) x) (mul (rec x) x-0 x-1)))) ((send (exp (gen) x))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x-0 x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x-0) (privk b)) (exp (gen) (mul x-0 x-1))))) ((recv (exp (gen) (mul x-0 x-1))) (send (exp (gen) (mul x-0 x-1)))) ((recv (cat (exp (gen) y) (mul x-0 x-1 (rec y)))) (send (cat (exp (gen) y) (mul x-0 x-1 (rec y))))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-1)) (exp h y)))))) (label 60) (parent 38) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (y x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul (rec y) x x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen y x x-0) (operation nonce-test (contracted (x-1 x) (x-2 x-0) (w (mul x x-0))) (gen) (6 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul (rec y) x x-0))) (send (cat (exp (gen) y) (mul (rec y) x x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0))))) (label 61) (parent 39) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (y x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul (rec y) x x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen y x x-0) (operation nonce-test (displaced 7 0 init 1) (exp (gen) x-1) (6 0)) (traces ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul (rec y) x x-0))) (send (cat (exp (gen) y) (mul (rec y) x x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 62) (parent 39) (unrealized (1 0) (2 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (y x x-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul (rec y) x x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen y x x-0) (operation nonce-test (displaced 7 4 init 1) (exp (gen) x-1) (6 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul (rec y) x x-0))) (send (cat (exp (gen) y) (mul (rec y) x x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 63) (parent 39) (unrealized (1 0) (2 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (y x x-0 x-1 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul (rec y) x x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (defstrand init 1 (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)) ((7 0) (6 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen y x x-0 x-1) (operation nonce-test (added-strand init 1) (exp (gen) x-1) (6 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul (rec y) x x-0))) (send (cat (exp (gen) y) (mul (rec y) x x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-1) (mul x x-0 (rec x-1)))) (send (cat (exp (gen) x-1) (mul x x-0 (rec x-1))))) ((send (exp (gen) x-1)))) (label 64) (parent 39) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x x-0 y expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x x-0 (rec y)))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x x-0 (rec y)))) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((3 1) (6 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen x x-0 y) (operation nonce-test (displaced 7 3 resp 2) (exp (gen) y-0) (6 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x x-0 (rec y)))) (send (cat (exp (gen) y) (mul x x-0 (rec y))))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x x-0 (rec y)))) (send (cat (exp (gen) y) (mul x x-0 (rec y)))))) (label 65) (parent 39) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 b-2 name) (h h-0 base) (y x x-0 y-0 expn)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul (rec y) x x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y-0) (mul x x-0 (rec y-0)))) (defstrand resp 2 (b b-2) (h h-0) (y y-0)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0)) ((7 1) (6 0))) (absent (y-0 h-0) (y h)) (non-orig (privk a) (privk b)) (precur (6 0) (2 0)) (uniq-gen y x x-0 y-0) (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (6 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul (rec y) x x-0))) (send (cat (exp (gen) y) (mul (rec y) x x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y-0) (mul x x-0 (rec y-0)))) (send (cat (exp (gen) y-0) (mul x x-0 (rec y-0))))) ((recv h-0) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) h-0 (privk b-2)) (exp h-0 y-0)))))) (label 66) (parent 39) (unrealized (1 0) (2 0) (5 0) (6 0)) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-to-station diffie-hellman (defrole init (vars (x expn) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) (uniq-gen x)) (defrole resp (vars (y expn) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) (uniq-gen y) (absent (y h)))) (defskeleton station-to-station (vars (a b name) (h base) (y expn)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen y) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))) (label 67) (unrealized (0 2)) (origs) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen y x) (operation encryption-test (added-strand init 3) (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 68) (parent 67) (unrealized (1 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (h base) (y expn)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen y) (operation encryption-test (added-listener (exp h y)) (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y)))) (label 69) (parent 67) (unrealized (0 2) (1 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation encryption-test (displaced 2 0 resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))) (1 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))) (label 70) (parent 68) (unrealized) (shape) (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x))))) (origs)) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen y x) (operation encryption-test (added-listener (exp (gen) (mul y x))) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))) (1 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))) (label 71) (parent 68) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (y expn)) (defstrand resp 3 (a a) (b b) (h (gen)) (y y)) (deflistener (exp (gen) y)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (absent (y (gen))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0)) (traces ((recv (gen)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y)))) (recv (enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y)))) (label 72) (parent 69) (unrealized (0 2)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (h base) (y expn) (w expr)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (deflistener (cat (exp h (mul y (rec w))) w)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w)) (exp h y) (1 0)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y))) ((recv (cat (exp h (mul y (rec w))) w)) (send (cat (exp h (mul y (rec w))) w)))) (label 73) (parent 69) (unrealized (0 2) (2 0)) (comment "4 in cohort - 4 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn) (w expr)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) (mul y x (rec w))) w)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (3 0)) (operation nonce-test (added-listener (cat (exp (gen) (mul y x (rec w))) w)) (exp (gen) (mul y x)) (2 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) (mul y x (rec w))) w)) (send (cat (exp (gen) (mul y x (rec w))) w)))) (label 74) (parent 71) (unrealized (3 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b name) (w expr) (y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (gen) (mul w y))) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (absent (y (exp (gen) w))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (contracted (y-0 y) (h (exp (gen) w)) (w (mul w y))) (gen) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))) (label 75) (parent 73) (unrealized (0 2) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (w expr) (x y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y)) (deflistener (exp (gen) (mul w x y))) (deflistener (cat (exp (gen) x) (mul w y))) (defstrand init 1 (x x)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0))) (absent (y (exp (gen) (mul w x)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation nonce-test (added-strand init 1) (exp (gen) x) (2 0)) (traces ((recv (exp (gen) (mul w x))) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))) (recv (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y))))) ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y)))) ((recv (cat (exp (gen) x) (mul w y))) (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x)))) (label 76) (parent 73) (unrealized (0 2) (1 0) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (w expr) (y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (absent (y (exp (gen) w))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y) (operation nonce-test (displaced 3 0 resp 2) (exp (gen) y-0) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))) (label 77) (parent 73) (unrealized (0 2)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (w expr) (y y-0 expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0)) (deflistener (exp (gen) (mul w y y-0))) (deflistener (cat (exp (gen) y) (mul w y-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 0))) (absent (y h) (y-0 (exp (gen) (mul w y)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y y-0) (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0)) (traces ((recv (exp (gen) (mul w y))) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))) (recv (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0))))) ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0)))) ((recv (cat (exp (gen) y) (mul w y-0))) (send (cat (exp (gen) y) (mul w y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 78) (parent 73) (unrealized (0 2) (1 0) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (gen) (mul y x))) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (3 0)) (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen) (3 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x))))) (label 79) (parent 74) (unrealized (2 0) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen y x) (operation nonce-test (displaced 4 1 init 1) (exp (gen) x-0) (3 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 80) (parent 74) (unrealized (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x x-0 expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0)))) (defstrand init 1 (x x-0)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0)) ((4 0) (3 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen y x x-0) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (3 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x-0) (mul y x (rec x-0)))) (send (cat (exp (gen) x-0) (mul y x (rec x-0))))) ((send (exp (gen) x-0)))) (label 81) (parent 74) (unrealized (2 0) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen x y) (operation nonce-test (displaced 4 0 resp 2) (exp (gen) y-0) (3 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 82) (parent 74) (unrealized (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (y x y-0 expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0)))) (defstrand resp 2 (b b-1) (h h) (y y-0)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0)) ((4 1) (3 0))) (absent (y-0 h) (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (3 0)) (uniq-gen y x y-0) (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (3 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y-0) (mul y x (rec y-0)))) (send (cat (exp (gen) y-0) (mul y x (rec y-0))))) ((recv h) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) h (privk b-1)) (exp h y-0)))))) (label 83) (parent 74) (unrealized (2 0) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (w expr) (y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (gen) (mul w y))) (deflistener y) (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y (exp (gen) w))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (added-listener y) (mul w y) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))) ((recv y) (send y))) (label 84) (parent 75) (unrealized (0 2) (3 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (w expr) (x y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y)) (deflistener (exp (gen) (mul w x y))) (deflistener (cat (exp (gen) x) (mul w y))) (defstrand init 1 (x x)) (deflistener y) (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((4 1) (2 0))) (absent (y (exp (gen) (mul w x)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation nonce-test (added-listener y) (mul w y) (2 0)) (traces ((recv (exp (gen) (mul w x))) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))) (recv (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y))))) ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y)))) ((recv (cat (exp (gen) x) (mul w y))) (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x))) ((recv y) (send y))) (label 85) (parent 76) (unrealized (0 2) (4 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y x) (operation encryption-test (added-strand init 3) (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 86) (parent 77) (unrealized (2 0) (3 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (w expr) (y y-0 expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0)) (deflistener (exp (gen) (mul w y y-0))) (deflistener (cat (exp (gen) y) (mul w y-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (deflistener y-0) (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 0)) ((4 1) (2 0))) (absent (y h) (y-0 (exp (gen) (mul w y)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y y-0) (operation nonce-test (added-listener y-0) (mul w y-0) (2 0)) (traces ((recv (exp (gen) (mul w y))) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))) (recv (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0))))) ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0)))) ((recv (cat (exp (gen) y) (mul w y-0))) (send (cat (exp (gen) y) (mul w y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv y-0) (send y-0))) (label 87) (parent 78) (unrealized (0 2) (4 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x y) (operation encryption-test (displaced 4 0 resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))) (3 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))) (label 88) (parent 86) (unrealized (2 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (precedes ((0 1) (2 0)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y x) (operation encryption-test (added-listener (exp (gen) (mul y x))) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))) (3 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))) (label 89) (parent 86) (unrealized (2 0) (4 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn) (w expr)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) (mul y x (rec w))) w)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen y x) (operation nonce-test (added-listener (cat (exp (gen) (mul y x (rec w))) w)) (exp (gen) (mul y x)) (4 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) (mul y x (rec w))) w)) (send (cat (exp (gen) (mul y x (rec w))) w)))) (label 90) (parent 89) (unrealized (2 0) (5 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (gen) (mul y x))) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen y x) (operation nonce-test (contracted (y-0 y) (x-0 x) (w (mul y x))) (gen) (5 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (gen) (mul y x))) (send (cat (gen) (mul y x))))) (label 91) (parent 90) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen y x) (operation nonce-test (displaced 6 3 init 1) (exp (gen) x-0) (5 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 92) (parent 90) (unrealized (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x x-0 expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x-0) (mul y x (rec x-0)))) (defstrand init 1 (x x-0)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 0) (5 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen y x x-0) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (5 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x-0) (mul y x (rec x-0)))) (send (cat (exp (gen) x-0) (mul y x (rec x-0))))) ((send (exp (gen) x-0)))) (label 93) (parent 90) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x y expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen x y) (operation nonce-test (displaced 6 0 resp 2) (exp (gen) y-0) (5 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 94) (parent 90) (unrealized (2 0) (5 0)) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (y x y-0 expn)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y-0) (mul y x (rec y-0)))) (defstrand resp 2 (b b-1) (h h) (y y-0)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0)) ((6 1) (5 0))) (absent (y-0 h) (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (5 0) (2 0)) (uniq-gen y x y-0) (operation nonce-test (added-strand resp 2) (exp (gen) y-0) (5 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y-0) (mul y x (rec y-0)))) (send (cat (exp (gen) y-0) (mul y x (rec y-0))))) ((recv h) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) h (privk b-1)) (exp h y-0)))))) (label 95) (parent 90) (unrealized (2 0) (4 0) (5 0)) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-weak diffie-hellman (defrole weak-init (vars (x expn) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))) (defrole weak-resp (vars (y expn) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) (absent (y h)))) (defskeleton station-weak (vars (a b name) (h base) (x expn)) (defstrand weak-init 3 (a a) (b b) (h h) (x x)) (non-orig (privk a) (privk b)) (uniq-gen x) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))) (label 96) (unrealized (0 1)) (origs) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (1 1)) ((1 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation encryption-test (added-strand weak-init 3) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 97) (parent 96) (unrealized) (shape) (maps ((0) ((a a) (b b) (x x) (h (exp (gen) x-0))))) (origs)) (defskeleton station-weak (vars (a b name) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation encryption-test (added-strand weak-resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 98) (parent 96) (unrealized) (shape) (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y))))) (origs)) (defskeleton station-weak (vars (a b name) (h base) (x expn)) (defstrand weak-init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation encryption-test (added-listener (exp h x)) (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x)))) (label 99) (parent 96) (unrealized (0 1) (1 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-weak (vars (a b name) (x expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x)) (deflistener (gen)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (rec x)) (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b)) (gen)))) (send (enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen)))) ((recv (gen)) (send (gen)))) (label 100) (parent 99) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (x expn)) (defstrand weak-init 3 (a a) (b b) (h (gen)) (x x)) (deflistener (exp (gen) x)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (displaced 2 0 weak-init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (gen) (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x)))) (send (enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x)))) ((recv (exp (gen) x)) (send (exp (gen) x)))) (label 101) (parent 99) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x)) (deflistener (exp (gen) x-0)) (defstrand weak-init 1 (x x-0)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (added-strand weak-init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) x-0)) (enc (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b)) (exp (gen) x-0)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a)) (exp (gen) x-0)))) ((recv (exp (gen) x-0)) (send (exp (gen) x-0))) ((send (exp (gen) x-0)))) (label 102) (parent 99) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (h base) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x)) (deflistener (exp (gen) y)) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0))) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) y)) (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b)) (exp (gen) y)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 103) (parent 99) (unrealized (0 1)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (h base) (x expn) (w expr)) (defstrand weak-init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (deflistener (cat (exp h (mul x (rec w))) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w)) (exp h x) (1 0)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x))) ((recv (cat (exp h (mul x (rec w))) w)) (send (cat (exp h (mul x (rec w))) w)))) (label 104) (parent 99) (unrealized (0 1) (2 0)) (comment "4 in cohort - 4 not yet seen")) (defskeleton station-weak (vars (a b name) (x expn) (w expr)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x)) (deflistener (exp (gen) w)) (deflistener (cat (gen) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w)))) (gen) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w)) (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b)) (exp (gen) w)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a)) (exp (gen) w)))) ((recv (exp (gen) w)) (send (exp (gen) w))) ((recv (cat (gen) w)) (send (cat (gen) w)))) (label 105) (parent 104) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-weak (vars (a b name) (w expr) (x expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) w)) (x x)) (deflistener (exp (gen) (mul w x))) (deflistener (cat (exp (gen) x) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (displaced 3 0 weak-init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) w) (enc (enc (exp (gen) w) (exp (gen) x) (privk b)) (exp (gen) (mul w x))))) (send (enc (enc (exp (gen) x) (exp (gen) w) (privk a)) (exp (gen) (mul w x))))) ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x)))) ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))) (label 106) (parent 104) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-weak (vars (a b name) (x expn) (w expr) (x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0))) (x x)) (deflistener (exp (gen) (mul w x-0))) (deflistener (cat (exp (gen) x-0) w)) (defstrand weak-init 1 (x x-0)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-strand weak-init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w x-0)) (enc (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x) (privk b)) (exp (gen) (mul w x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a)) (exp (gen) (mul w x-0))))) ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0)))) ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))) ((send (exp (gen) x-0)))) (label 107) (parent 104) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (h base) (x expn) (w expr) (y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w y)) (enc (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b)) (exp (gen) (mul w y))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 108) (parent 104) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 109) (parent 105) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (gen) (mul x y))) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 110) (parent 105) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 111) (parent 106) (unrealized) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x) y)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (2 0)) ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 112) (parent 106) (unrealized) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (displaced 3 4 weak-init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 113) (parent 107) (unrealized (2 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand weak-init 1 (x x-0)) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 2) (0 1))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))))) (label 114) (parent 107) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (x x-0 y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y))) (defstrand weak-init 1 (x x-0)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y))) (send (cat (exp (gen) x-0) (mul x (rec x-0) y)))) ((send (exp (gen) x-0))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 115) (parent 107) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b b-0 b-1 name) (h base) (x y x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (defstrand weak-init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 2) (0 1))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 116) (parent 108) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (displaced 4 3 weak-resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 117) (parent 108) (unrealized (2 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (h base) (x y y-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y-0)) (x x)) (deflistener (exp (gen) (mul x y-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) y-0))) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y-0)) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1))) (absent (y-0 (exp (gen) x)) (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation encryption-test (added-strand weak-resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))) (send (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0))))) ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) y-0))) (send (cat (exp (gen) y) (mul x (rec y) y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))))) (label 118) (parent 108) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener x) (precedes ((0 0) (3 1)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 2) (0 1)) ((4 1) (2 0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-listener x) (mul x x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv x) (send x))) (label 119) (parent 109) (unrealized (4 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (gen) (mul x y))) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (deflistener x) (precedes ((0 0) (3 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((4 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-listener x) (mul x y) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y)))))) ((recv x) (send x))) (label 120) (parent 110) (unrealized (4 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (cat (exp (gen) x) x-0)) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (1 0)) ((0 0) (2 1)) ((1 1) (0 1)) ((2 2) (0 1))) (non-orig (privk a) (privk b)) (precur (1 0)) (uniq-gen x) (operation generalization deleted (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 121) (parent 111) (seen 97) (unrealized) (comment "1 in cohort - 0 not yet seen")) (defskeleton station-weak (vars (a b name) (x y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (cat (exp (gen) x) y)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (0 1))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (1 0)) (uniq-gen x) (operation generalization deleted (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 122) (parent 112) (seen 98) (unrealized) (comment "1 in cohort - 0 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (x x-0 x-1 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand weak-init 1 (x x-0)) (defstrand weak-init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener x) (precedes ((0 0) (4 1)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 2) (0 1)) ((5 1) (2 0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-listener x) (mul x (rec x-0) x-1) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv x) (send x))) (label 123) (parent 114) (unrealized (5 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (x x-0 y expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y))) (defstrand weak-init 1 (x x-0)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y)) (deflistener x) (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (0 1)) ((5 1) (2 0))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-listener x) (mul x (rec x-0) y) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y))) (send (cat (exp (gen) x-0) (mul x (rec x-0) y)))) ((send (exp (gen) x-0))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y)))))) ((recv x) (send x))) (label 124) (parent 115) (unrealized (5 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 b-1 name) (h base) (x y x-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (defstrand weak-init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener x) (precedes ((0 0) (4 1)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 2) (0 1)) ((5 1) (2 0))) (absent (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-listener x) (mul x (rec y) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv x) (send x))) (label 125) (parent 116) (unrealized (5 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (h base) (x y y-0 expn)) (defstrand weak-init 3 (a a) (b b) (h (exp (gen) y-0)) (x x)) (deflistener (exp (gen) (mul x y-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) y-0))) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (defstrand weak-resp 2 (b b) (h (exp (gen) x)) (y y-0)) (deflistener x) (precedes ((0 0) (4 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (0 1)) ((5 1) (2 0))) (absent (y-0 (exp (gen) x)) (y h)) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen x) (operation nonce-test (added-listener x) (mul x (rec y) y-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))) (send (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0))))) ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) y-0))) (send (cat (exp (gen) y) (mul x (rec y) y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0)))))) ((recv x) (send x))) (label 126) (parent 118) (unrealized (5 0)) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-weak diffie-hellman (defrole weak-init (vars (x expn) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))) (defrole weak-resp (vars (y expn) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) (absent (y h)))) (defskeleton station-weak (vars (a b name) (h base) (y expn)) (defstrand weak-resp 3 (a a) (b b) (h h) (y y)) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen y) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))) (label 127) (unrealized (0 2)) (origs) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (y x expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (1 1)) ((1 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation encryption-test (added-strand weak-init 3) (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 128) (parent 127) (unrealized) (shape) (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x))))) (origs)) (defskeleton station-weak (vars (a b name) (y y-0 expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y)) (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation encryption-test (added-strand weak-resp 2) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))) (0 2)) (traces ((recv (exp (gen) y-0)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b)) (exp (gen) (mul y y-0))))) (recv (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))) ((recv (exp (gen) y)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))))) (label 129) (parent 127) (unrealized) (shape) (maps ((0) ((a a) (b b) (y y) (h (exp (gen) y-0))))) (origs)) (defskeleton station-weak (vars (a b name) (h base) (y expn)) (defstrand weak-resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen y) (operation encryption-test (added-listener (exp h y)) (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y)))) (label 130) (parent 127) (unrealized (0 2) (1 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-weak (vars (a b name) (y expn)) (defstrand weak-resp 3 (a a) (b b) (h (gen)) (y y)) (deflistener (exp (gen) y)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (absent (y (gen))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation nonce-test (displaced 2 0 weak-resp 2) (exp (gen) y-0) (1 0)) (traces ((recv (gen)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y)))) (recv (enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y)))) (label 131) (parent 130) (unrealized (0 2)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (h base) (y expn) (w expr)) (defstrand weak-resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (deflistener (cat (exp h (mul y (rec w))) w)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (absent (y h)) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w)) (exp h y) (1 0)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y))) ((recv (cat (exp h (mul y (rec w))) w)) (send (cat (exp h (mul y (rec w))) w)))) (label 132) (parent 130) (unrealized (0 2) (2 0)) (comment "4 in cohort - 4 not yet seen")) (defskeleton station-weak (vars (a b name) (w expr) (y expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (gen) (mul w y))) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (absent (y (exp (gen) w))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (contracted (y-0 y) (h (exp (gen) w)) (w (mul w y))) (gen) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))) (label 133) (parent 132) (unrealized (0 2) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (w expr) (x y expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y)) (deflistener (exp (gen) (mul w x y))) (deflistener (cat (exp (gen) x) (mul w y))) (defstrand weak-init 1 (x x)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0))) (absent (y (exp (gen) (mul w x)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y) (operation nonce-test (added-strand weak-init 1) (exp (gen) x) (2 0)) (traces ((recv (exp (gen) (mul w x))) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))) (recv (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y))))) ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y)))) ((recv (cat (exp (gen) x) (mul w y))) (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x)))) (label 134) (parent 132) (unrealized (0 2) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (w expr) (y expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (absent (y (exp (gen) w))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y) (operation nonce-test (displaced 3 0 weak-resp 2) (exp (gen) y-0) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))) (label 135) (parent 132) (unrealized (0 2)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (h base) (w expr) (y y-0 expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0)) (deflistener (exp (gen) (mul w y y-0))) (deflistener (cat (exp (gen) y) (mul w y-0))) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y h) (y-0 (exp (gen) (mul w y)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y-0) (operation nonce-test (added-strand weak-resp 2) (exp (gen) y) (2 0)) (traces ((recv (exp (gen) (mul w y))) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))) (recv (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0))))) ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0)))) ((recv (cat (exp (gen) y) (mul w y-0))) (send (cat (exp (gen) y) (mul w y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 136) (parent 132) (unrealized (0 2) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (w expr) (y expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (gen) (mul w y))) (deflistener y) (precedes ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (absent (y (exp (gen) w))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (added-listener y) (mul w y) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))) ((recv y) (send y))) (label 137) (parent 133) (unrealized (0 2) (3 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b name) (w expr) (x y expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w x))) (y y)) (deflistener (exp (gen) (mul w x y))) (deflistener (cat (exp (gen) x) (mul w y))) (defstrand weak-init 1 (x x)) (deflistener y) (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (2 0))) (absent (y (exp (gen) (mul w x)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y) (operation nonce-test (added-listener y) (mul w y) (2 0)) (traces ((recv (exp (gen) (mul w x))) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) (mul w x)) (privk b)) (exp (gen) (mul w x y))))) (recv (enc (enc (exp (gen) (mul w x)) (exp (gen) y) (privk a)) (exp (gen) (mul w x y))))) ((recv (exp (gen) (mul w x y))) (send (exp (gen) (mul w x y)))) ((recv (cat (exp (gen) x) (mul w y))) (send (cat (exp (gen) x) (mul w y)))) ((send (exp (gen) x))) ((recv y) (send y))) (label 138) (parent 134) (unrealized (0 2) (4 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (y x expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y) (operation encryption-test (added-strand weak-init 3) (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 139) (parent 135) (unrealized) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b name) (y y-0 expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y)) (deflistener (exp (gen) (mul y y-0))) (deflistener (cat (exp (gen) y) y-0)) (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0)) (precedes ((0 1) (2 0)) ((0 1) (3 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (0 2))) (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y) (operation encryption-test (added-strand weak-resp 2) (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (0 2)) (traces ((recv (exp (gen) y-0)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b)) (exp (gen) (mul y y-0))))) (recv (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))) ((recv (exp (gen) (mul y y-0))) (send (exp (gen) (mul y y-0)))) ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0))) ((recv (exp (gen) y)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))))) (label 140) (parent 135) (unrealized) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-weak (vars (a b b-0 name) (h base) (w expr) (y y-0 expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) (mul w y))) (y y-0)) (deflistener (exp (gen) (mul w y y-0))) (deflistener (cat (exp (gen) y) (mul w y-0))) (defstrand weak-resp 2 (b b-0) (h h) (y y)) (deflistener y-0) (precedes ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0))) (absent (y h) (y-0 (exp (gen) (mul w y)))) (non-orig (privk a) (privk b)) (precur (2 0)) (uniq-gen y-0) (operation nonce-test (added-listener y-0) (mul w y-0) (2 0)) (traces ((recv (exp (gen) (mul w y))) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) (mul w y)) (privk b)) (exp (gen) (mul w y y-0))))) (recv (enc (enc (exp (gen) (mul w y)) (exp (gen) y-0) (privk a)) (exp (gen) (mul w y y-0))))) ((recv (exp (gen) (mul w y y-0))) (send (exp (gen) (mul w y y-0)))) ((recv (cat (exp (gen) y) (mul w y-0))) (send (cat (exp (gen) y) (mul w y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv y-0) (send y-0))) (label 141) (parent 136) (unrealized (0 2) (4 0)) (comment "empty cohort")) (defskeleton station-weak (vars (a b b-0 name) (y x expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (cat (exp (gen) y) x)) (defstrand weak-init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (1 0)) ((0 1) (2 1)) ((1 1) (0 2)) ((2 2) (0 2))) (absent (y (exp (gen) x))) (non-orig (privk a) (privk b)) (precur (1 0)) (uniq-gen y) (operation generalization deleted (1 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 142) (parent 139) (seen 128) (unrealized) (comment "1 in cohort - 0 not yet seen")) (defskeleton station-weak (vars (a b name) (y y-0 expn)) (defstrand weak-resp 3 (a a) (b b) (h (exp (gen) y-0)) (y y)) (deflistener (cat (exp (gen) y) y-0)) (defstrand weak-resp 2 (b a) (h (exp (gen) y)) (y y-0)) (precedes ((0 1) (1 0)) ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (0 2))) (absent (y-0 (exp (gen) y)) (y (exp (gen) y-0))) (non-orig (privk a) (privk b)) (precur (1 0)) (uniq-gen y) (operation generalization deleted (1 0)) (traces ((recv (exp (gen) y-0)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) y-0) (privk b)) (exp (gen) (mul y y-0))))) (recv (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))) ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0))) ((recv (exp (gen) y)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) y) (privk a)) (exp (gen) (mul y y-0))))))) (label 143) (parent 140) (seen 129) (unrealized) (comment "1 in cohort - 0 not yet seen")) (comment "Nothing left to do")