cpsa-3.4.1: tst/station.tst
(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")