(comment "CPSA 2.2.11")
(comment "Extracted shapes")
(herald "Otway-Rees Protocol"
  (comment "Standard version using variables of sort mesg"))
(comment "CPSA 2.2.11")
(comment "All input read from or.scm")

Trees: 0 10 20 30.

Tree 0.

9 8 7 6 5 0
(defprotocol or basic
  (defrole init
    (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text))
    (trace
      (send
        (cat m my_init_id yr_resp_id
          (enc na m my_init_id yr_resp_id (ltk my_init_id s))))
      (recv (cat m (enc na k (ltk my_init_id s))))))
  (defrole resp
    (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text)
      (x y mesg))
    (trace (recv (cat m yr_init_id my_resp_id x))
      (send
        (cat m yr_init_id my_resp_id x
          (enc nb m yr_init_id my_resp_id (ltk my_resp_id s))))
      (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y)))
  (defrole serv
    (vars (a b s name) (na nb text) (k skey) (m text))
    (trace
      (recv
        (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
    (uniq-orig k)))

Item 0, Children: 5 6 7 8 9.

y (cat m y (enc nb k (ltk b s))) (cat m a b x (enc nb m a b (ltk b s))) (cat m a b x) ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) resp or 0
(defskeleton or
  (vars (x y mesg) (nb m text) (s a b name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id b) (s s) (k k))
  (non-orig (ltk a s) (ltk b s))
  (uniq-orig nb)
  (traces
    ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
      (recv (cat m y (enc nb k (ltk b s)))) (send y)))
  (label 0)
  (unrealized (0 2))
  (origs (nb (0 1)))
  (comment "2 in cohort - 2 not yet seen"))

Item 5, Parent: 0.

(cat m a a (enc nb-0 m a a (ltk a s))) (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))) (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))) y (cat m y (enc nb k (ltk a s))) (cat m a a x (enc nb m a a (ltk a s))) (cat m a a x) ((na nb-0) (m m) (my_init_id a) (yr_resp_id a) (s s)) init ((na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) serv ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) resp or 5 (realized)
(defskeleton or
  (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id a) (s s) (k k))
  (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
  (defstrand init 1 (na nb-0) (m m) (my_init_id a) (yr_resp_id a) (s s))
  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
  (non-orig (ltk a s))
  (uniq-orig nb k)
  (operation encryption-test (added-strand init 1)
    (enc nb-0 m a a (ltk a s)) (1 0))
  (traces
    ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
      (recv (cat m y (enc nb k (ltk a s)))) (send y))
    ((recv
       (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
      (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))
    ((send (cat m a a (enc nb-0 m a a (ltk a s))))))
  (label 5)
  (parent 0)
  (unrealized)
  (shape)
  (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
  (origs (k (1 1)) (nb (0 1))))

Item 6, Parent: 0.

(cat m (enc nb k (ltk a s)) (enc nb k (ltk a s))) (cat m a a (enc nb m a a (ltk a s)) (enc nb m a a (ltk a s))) y (cat m y (enc nb k (ltk a s))) (cat m a a x (enc nb m a a (ltk a s))) (cat m a a x) ((na nb) (nb nb) (m m) (a a) (b a) (s s) (k k)) serv ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) resp or 6 (realized)
(defskeleton or
  (vars (x y mesg) (nb m text) (s a name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id a) (s s) (k k))
  (defstrand serv 2 (na nb) (nb nb) (m m) (a a) (b a) (s s) (k k))
  (precedes ((0 1) (1 0)) ((1 1) (0 2)))
  (non-orig (ltk a s))
  (uniq-orig nb k)
  (operation encryption-test (displaced 2 0 resp 2)
    (enc nb-0 m a a (ltk a s)) (1 0))
  (traces
    ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
      (recv (cat m y (enc nb k (ltk a s)))) (send y))
    ((recv
       (cat m a a (enc nb m a a (ltk a s)) (enc nb m a a (ltk a s))))
      (send (cat m (enc nb k (ltk a s)) (enc nb k (ltk a s))))))
  (label 6)
  (parent 0)
  (unrealized)
  (shape)
  (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
  (origs (k (1 1)) (nb (0 1))))

Item 7, Parent: 0.

(cat m a a x-0 (enc nb-0 m a a (ltk a s))) (cat m a a x-0) (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))) (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))) y (cat m y (enc nb k (ltk a s))) (cat m a a x (enc nb m a a (ltk a s))) (cat m a a x) ((x x-0) (nb nb-0) (m m) (yr_init_id a) (my_resp_id a) (s s)) resp ((na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) serv ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) resp or 7 (realized)
(defskeleton or
  (vars (x y x-0 mesg) (nb m nb-0 text) (s a name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id a) (s s) (k k))
  (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
  (defstrand resp 2 (x x-0) (nb nb-0) (m m) (yr_init_id a)
    (my_resp_id a) (s s))
  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
  (non-orig (ltk a s))
  (uniq-orig nb k)
  (operation encryption-test (added-strand resp 2)
    (enc nb-0 m a a (ltk a s)) (1 0))
  (traces
    ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
      (recv (cat m y (enc nb k (ltk a s)))) (send y))
    ((recv
       (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s))))
      (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))
    ((recv (cat m a a x-0))
      (send (cat m a a x-0 (enc nb-0 m a a (ltk a s))))))
  (label 7)
  (parent 0)
  (unrealized)
  (shape)
  (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
  (origs (k (1 1)) (nb (0 1))))

Item 8, Parent: 0.

(cat m a b (enc na m a b (ltk a s))) (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))) (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))) y (cat m y (enc nb k (ltk b s))) (cat m a b x (enc nb m a b (ltk b s))) (cat m a b x) ((na na) (m m) (my_init_id a) (yr_resp_id b) (s s)) init ((na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) serv ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) resp or 8 (realized)
(defskeleton or
  (vars (x y mesg) (nb m na text) (s a b name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id b) (s s) (k k))
  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
  (defstrand init 1 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s))
  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
  (non-orig (ltk a s) (ltk b s))
  (uniq-orig nb k)
  (operation encryption-test (added-strand init 1)
    (enc na m a b (ltk a s)) (1 0))
  (traces
    ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
      (recv (cat m y (enc nb k (ltk b s)))) (send y))
    ((recv
       (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
    ((send (cat m a b (enc na m a b (ltk a s))))))
  (label 8)
  (parent 0)
  (unrealized)
  (shape)
  (maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y))))
  (origs (k (1 1)) (nb (0 1))))

Item 9, Parent: 0.

(cat m a a x-0 (enc na m a a (ltk a s))) (cat m a a x-0) (cat m (enc na k (ltk a s)) (enc nb k (ltk a s))) (cat m a a (enc na m a a (ltk a s)) (enc nb m a a (ltk a s))) y (cat m y (enc nb k (ltk a s))) (cat m a a x (enc nb m a a (ltk a s))) (cat m a a x) ((x x-0) (nb na) (m m) (yr_init_id a) (my_resp_id a) (s s)) resp ((na na) (nb nb) (m m) (a a) (b a) (s s) (k k)) serv ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) resp or 9 (realized)
(defskeleton or
  (vars (x y x-0 mesg) (nb m na text) (s a name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id a) (s s) (k k))
  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b a) (s s) (k k))
  (defstrand resp 2 (x x-0) (nb na) (m m) (yr_init_id a) (my_resp_id a)
    (s s))
  (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
  (non-orig (ltk a s))
  (uniq-orig nb k)
  (operation encryption-test (added-strand resp 2)
    (enc na m a a (ltk a s)) (1 0))
  (traces
    ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s))))
      (recv (cat m y (enc nb k (ltk a s)))) (send y))
    ((recv
       (cat m a a (enc na m a a (ltk a s)) (enc nb m a a (ltk a s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk a s)))))
    ((recv (cat m a a x-0))
      (send (cat m a a x-0 (enc na m a a (ltk a s))))))
  (label 9)
  (parent 0)
  (unrealized)
  (shape)
  (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
  (origs (k (1 1)) (nb (0 1))))

Tree 10.

19 18 17 16 15 10
(defprotocol or basic
  (defrole init
    (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text))
    (trace
      (send
        (cat m my_init_id yr_resp_id
          (enc na m my_init_id yr_resp_id (ltk my_init_id s))))
      (recv (cat m (enc na k (ltk my_init_id s))))))
  (defrole resp
    (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text)
      (x y mesg))
    (trace (recv (cat m yr_init_id my_resp_id x))
      (send
        (cat m yr_init_id my_resp_id x
          (enc nb m yr_init_id my_resp_id (ltk my_resp_id s))))
      (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y)))
  (defrole serv
    (vars (a b s name) (na nb text) (k skey) (m text))
    (trace
      (recv
        (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
    (uniq-orig k)))

Item 10, Children: 15 16 17 18 19.

(cat m (enc na k (ltk a s))) (cat m a b (enc na m a b (ltk a s))) ((na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) init or 10
(defskeleton or
  (vars (na m text) (s a b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s)
    (k k))
  (non-orig (ltk a s) (ltk b s))
  (uniq-orig na)
  (traces
    ((send (cat m a b (enc na m a b (ltk a s))))
      (recv (cat m (enc na k (ltk a s))))))
  (label 10)
  (unrealized (0 1))
  (origs (na (0 0)))
  (comment "2 in cohort - 2 not yet seen"))

Item 15, Parent: 10.

(cat m (enc na k (ltk b s)) (enc na k (ltk b s))) (cat m b b (enc na m b b (ltk b s)) (enc na m b b (ltk b s))) (cat m (enc na k (ltk b s))) (cat m b b (enc na m b b (ltk b s))) ((na na) (nb na) (m m) (a b) (b b) (s s) (k k)) serv ((na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) init or 15 (realized)
(defskeleton or
  (vars (na m text) (s b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s)
    (k k))
  (defstrand serv 2 (na na) (nb na) (m m) (a b) (b b) (s s) (k k))
  (precedes ((0 0) (1 0)) ((1 1) (0 1)))
  (non-orig (ltk b s))
  (uniq-orig na k)
  (operation encryption-test (displaced 2 0 init 1)
    (enc nb m b b (ltk b s)) (1 0))
  (traces
    ((send (cat m b b (enc na m b b (ltk b s))))
      (recv (cat m (enc na k (ltk b s)))))
    ((recv
       (cat m b b (enc na m b b (ltk b s)) (enc na m b b (ltk b s))))
      (send (cat m (enc na k (ltk b s)) (enc na k (ltk b s))))))
  (label 15)
  (parent 10)
  (unrealized)
  (shape)
  (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m))))
  (origs (k (1 1)) (na (0 0))))

Item 16, Parent: 10.

(cat m b b (enc nb m b b (ltk b s))) (cat m (enc na k (ltk b s)) (enc nb k (ltk b s))) (cat m b b (enc na m b b (ltk b s)) (enc nb m b b (ltk b s))) (cat m (enc na k (ltk b s))) (cat m b b (enc na m b b (ltk b s))) ((na nb) (m m) (my_init_id b) (yr_resp_id b) (s s)) init ((na na) (nb nb) (m m) (a b) (b b) (s s) (k k)) serv ((na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) init or 16 (realized)
(defskeleton or
  (vars (na m nb text) (s b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s)
    (k k))
  (defstrand serv 2 (na na) (nb nb) (m m) (a b) (b b) (s s) (k k))
  (defstrand init 1 (na nb) (m m) (my_init_id b) (yr_resp_id b) (s s))
  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
  (non-orig (ltk b s))
  (uniq-orig na k)
  (operation encryption-test (added-strand init 1)
    (enc nb m b b (ltk b s)) (1 0))
  (traces
    ((send (cat m b b (enc na m b b (ltk b s))))
      (recv (cat m (enc na k (ltk b s)))))
    ((recv
       (cat m b b (enc na m b b (ltk b s)) (enc nb m b b (ltk b s))))
      (send (cat m (enc na k (ltk b s)) (enc nb k (ltk b s)))))
    ((send (cat m b b (enc nb m b b (ltk b s))))))
  (label 16)
  (parent 10)
  (unrealized)
  (shape)
  (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m))))
  (origs (k (1 1)) (na (0 0))))

Item 17, Parent: 10.

(cat m a b x (enc nb m a b (ltk b s))) (cat m a b x) (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))) (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))) (cat m (enc na k (ltk a s))) (cat m a b (enc na m a b (ltk a s))) ((x x) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s)) resp ((na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) serv ((na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) init or 17 (realized)
(defskeleton or
  (vars (x mesg) (na m nb text) (s a b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s)
    (k k))
  (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
  (defstrand resp 2 (x x) (nb nb) (m m) (yr_init_id a) (my_resp_id b)
    (s s))
  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
  (non-orig (ltk a s) (ltk b s))
  (uniq-orig na k)
  (operation encryption-test (added-strand resp 2)
    (enc nb m a b (ltk b s)) (1 0))
  (traces
    ((send (cat m a b (enc na m a b (ltk a s))))
      (recv (cat m (enc na k (ltk a s)))))
    ((recv
       (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
    ((recv (cat m a b x))
      (send (cat m a b x (enc nb m a b (ltk b s))))))
  (label 17)
  (parent 10)
  (unrealized)
  (shape)
  (maps ((0) ((na na) (s s) (a a) (b b) (k k) (m m))))
  (origs (k (1 1)) (na (0 0))))

Item 18, Parent: 10.

(cat m b b (enc na-0 m b b (ltk b s))) (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s))) (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s))) (cat m (enc na k (ltk b s))) (cat m b b (enc na m b b (ltk b s))) ((na na-0) (m m) (my_init_id b) (yr_resp_id b) (s s)) init ((na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) serv ((na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) init or 18 (realized)
(defskeleton or
  (vars (na m na-0 text) (s b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s)
    (k k))
  (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k))
  (defstrand init 1 (na na-0) (m m) (my_init_id b) (yr_resp_id b) (s s))
  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0)))
  (non-orig (ltk b s))
  (uniq-orig na k)
  (operation encryption-test (added-strand init 1)
    (enc na-0 m b b (ltk b s)) (1 0))
  (traces
    ((send (cat m b b (enc na m b b (ltk b s))))
      (recv (cat m (enc na k (ltk b s)))))
    ((recv
       (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s))))
      (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s)))))
    ((send (cat m b b (enc na-0 m b b (ltk b s))))))
  (label 18)
  (parent 10)
  (unrealized)
  (shape)
  (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m))))
  (origs (k (1 1)) (na (0 0))))

Item 19, Parent: 10.

(cat m b b x (enc na-0 m b b (ltk b s))) (cat m b b x) (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s))) (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s))) (cat m (enc na k (ltk b s))) (cat m b b (enc na m b b (ltk b s))) ((x x) (nb na-0) (m m) (yr_init_id b) (my_resp_id b) (s s)) resp ((na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) serv ((na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) init or 19 (realized)
(defskeleton or
  (vars (x mesg) (na m na-0 text) (s b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s)
    (k k))
  (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k))
  (defstrand resp 2 (x x) (nb na-0) (m m) (yr_init_id b) (my_resp_id b)
    (s s))
  (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0)))
  (non-orig (ltk b s))
  (uniq-orig na k)
  (operation encryption-test (added-strand resp 2)
    (enc na-0 m b b (ltk b s)) (1 0))
  (traces
    ((send (cat m b b (enc na m b b (ltk b s))))
      (recv (cat m (enc na k (ltk b s)))))
    ((recv
       (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s))))
      (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s)))))
    ((recv (cat m b b x))
      (send (cat m b b x (enc na-0 m b b (ltk b s))))))
  (label 19)
  (parent 10)
  (unrealized)
  (shape)
  (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m))))
  (origs (k (1 1)) (na (0 0))))

Tree 20.

20
(defprotocol or basic
  (defrole init
    (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text))
    (trace
      (send
        (cat m my_init_id yr_resp_id
          (enc na m my_init_id yr_resp_id (ltk my_init_id s))))
      (recv (cat m (enc na k (ltk my_init_id s))))))
  (defrole resp
    (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text)
      (x y mesg))
    (trace (recv (cat m yr_init_id my_resp_id x))
      (send
        (cat m yr_init_id my_resp_id x
          (enc nb m yr_init_id my_resp_id (ltk my_resp_id s))))
      (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y)))
  (defrole serv
    (vars (a b s name) (na nb text) (k skey) (m text))
    (trace
      (recv
        (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
    (uniq-orig k)))

Item 20.

k k y (cat m y (enc nb k (ltk b s))) (cat m a b x (enc nb m a b (ltk b s))) (cat m a b x) ((x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) resp or 20
(defskeleton or
  (vars (x y mesg) (nb m text) (s a b name) (k skey))
  (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a)
    (my_resp_id b) (s s) (k k))
  (deflistener k)
  (non-orig (ltk a s) (ltk b s))
  (uniq-orig nb)
  (traces
    ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s))))
      (recv (cat m y (enc nb k (ltk b s)))) (send y))
    ((recv k) (send k)))
  (label 20)
  (unrealized (0 2))
  (origs (nb (0 1)))
  (comment "2 in cohort - 2 not yet seen"))

Tree 30.

30
(defprotocol or basic
  (defrole init
    (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text))
    (trace
      (send
        (cat m my_init_id yr_resp_id
          (enc na m my_init_id yr_resp_id (ltk my_init_id s))))
      (recv (cat m (enc na k (ltk my_init_id s))))))
  (defrole resp
    (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text)
      (x y mesg))
    (trace (recv (cat m yr_init_id my_resp_id x))
      (send
        (cat m yr_init_id my_resp_id x
          (enc nb m yr_init_id my_resp_id (ltk my_resp_id s))))
      (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y)))
  (defrole serv
    (vars (a b s name) (na nb text) (k skey) (m text))
    (trace
      (recv
        (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s))))
      (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))
    (uniq-orig k)))

Item 30.

k k (cat m (enc na k (ltk a s))) (cat m a b (enc na m a b (ltk a s))) ((na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) init or 30
(defskeleton or
  (vars (na m text) (s a b name) (k skey))
  (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s)
    (k k))
  (deflistener k)
  (non-orig (ltk a s) (ltk b s))
  (uniq-orig na)
  (traces
    ((send (cat m a b (enc na m a b (ltk a s))))
      (recv (cat m (enc na k (ltk a s))))) ((recv k) (send k)))
  (label 30)
  (unrealized (0 1))
  (origs (na (0 0)))
  (comment "2 in cohort - 2 not yet seen"))